SAP HANA 从另一个 table 获取引用值
SAP HANA get referenced values from another table
数据库:SAP HANA
我想要 table 在 table B
中查找姓名和年龄
如果我不仅需要查找姓名和年龄,而且需要查找许多列,那么最有效的方法是什么?
TABLE一个
ID
QTY
1
10
2
20
TABLE B
ID
NAME
AGE
TAG
1
SAM
22
31
1
SAM
22
22
2
TOM
25
10
2
TOM
25
52
2
TOM
25
73
预期结果
ID
QTY
AGE
NAME
1
10
22
SAM
2
20
25
TOM
如果 age
和 name
等列重复,则说明您的数据模型有问题。你可以做你想做的事:
select distinct a.*, b.age, b.name
from a join
b
on a.id = b.id;
或者,您可以将其表述为:
select a.*, b.age, b.name
from a join
(select distinct id, name, age
from b
) b
on a.id = b.id;
您必须测试哪个在您的数据上更快。性能取决于表的大小、匹配数和可用索引。
数据库:SAP HANA
我想要 table 在 table B
中查找姓名和年龄如果我不仅需要查找姓名和年龄,而且需要查找许多列,那么最有效的方法是什么?
TABLE一个
ID | QTY |
---|---|
1 | 10 |
2 | 20 |
TABLE B
ID | NAME | AGE | TAG |
---|---|---|---|
1 | SAM | 22 | 31 |
1 | SAM | 22 | 22 |
2 | TOM | 25 | 10 |
2 | TOM | 25 | 52 |
2 | TOM | 25 | 73 |
预期结果
ID | QTY | AGE | NAME |
---|---|---|---|
1 | 10 | 22 | SAM |
2 | 20 | 25 | TOM |
如果 age
和 name
等列重复,则说明您的数据模型有问题。你可以做你想做的事:
select distinct a.*, b.age, b.name
from a join
b
on a.id = b.id;
或者,您可以将其表述为:
select a.*, b.age, b.name
from a join
(select distinct id, name, age
from b
) b
on a.id = b.id;
您必须测试哪个在您的数据上更快。性能取决于表的大小、匹配数和可用索引。