SQL: 将两个表的结果合并为一个结果
SQL: Merging results from two tables into one result
我已经开始深入研究 joins/apply/unions,等等,但有一个概念我认为我不明白,我希望能得到帮助。假设我有两个表,tabone 和 tabtwo。
在禁忌中:
product
color
Eggs
Tan
Milk
White
在标签二中:
product
price
Eggs
1.50
Milk
2.00
我想学习如何编写查询,在单个结果中显示任何给定产品的产品、颜色和价格。
我想要的示例输出:
product
price
color
Eggs
1.50
Tan
从我目前收集到的信息来看,我不太明白联接或联合如何在一个结果中实现这一目标。我的所有测试都为我提供了多列颜色,例如不合并。如果能提供一些帮助,我将不胜感激!
SELECT t1.product, price, color
FROM tabone t1
JOIN tabtwo t2
ON t1.product = t2.product
免责声明:我也是 SQL 的新手 lol
您至少可以通过 3 种方式连接 两个表。
您可以内部联接,使用相关子查询或应用相关。如果 product 是唯一的,所有工作都按预期进行:
select t1.product, t2.price, t1.color
from tabone t1
join tabtwo t2 on t2.product = t1.product;
select product,
(select price from tabtwo t2 where t2.product = t1.product) price,
color
from tabone t1;
select t1.product, t2.price, t1.color
from tabone t1
cross apply (
select price
from tabtwo t2
where t2.product = t1.product
) t2;
我已经开始深入研究 joins/apply/unions,等等,但有一个概念我认为我不明白,我希望能得到帮助。假设我有两个表,tabone 和 tabtwo。
在禁忌中:
product | color |
---|---|
Eggs | Tan |
Milk | White |
在标签二中:
product | price |
---|---|
Eggs | 1.50 |
Milk | 2.00 |
我想学习如何编写查询,在单个结果中显示任何给定产品的产品、颜色和价格。
我想要的示例输出:
product | price | color |
---|---|---|
Eggs | 1.50 | Tan |
从我目前收集到的信息来看,我不太明白联接或联合如何在一个结果中实现这一目标。我的所有测试都为我提供了多列颜色,例如不合并。如果能提供一些帮助,我将不胜感激!
SELECT t1.product, price, color
FROM tabone t1
JOIN tabtwo t2
ON t1.product = t2.product
免责声明:我也是 SQL 的新手 lol
您至少可以通过 3 种方式连接 两个表。
您可以内部联接,使用相关子查询或应用相关。如果 product 是唯一的,所有工作都按预期进行:
select t1.product, t2.price, t1.color
from tabone t1
join tabtwo t2 on t2.product = t1.product;
select product,
(select price from tabtwo t2 where t2.product = t1.product) price,
color
from tabone t1;
select t1.product, t2.price, t1.color
from tabone t1
cross apply (
select price
from tabtwo t2
where t2.product = t1.product
) t2;