SQL - 比较来自两个不同 table 的列值
SQL - compares column values from two different table
我是 SQL 服务器的新手,想知道我应该如何处理以下情况:
我有两个 table:
第一个table有这个月的订单,有以下数据
Product
Order
First
2000
Second
3000
...和 10000 行
和第二个 table 具有下个月的预期订单并具有以下数据:
Product
Order
First
3000
Second
1000
...和 12000 行。
现在,我想查看第 2 个 table 中的产品,其中预期订单数超过第 1 个 table 中“订单”列中的值。
例如。在我们的例子中输出应该是
| Product |
| First |
你能帮我解决这个问题吗,因为列名很相似?
您可以使用别名按产品名称加入他们,并比较他们的订单
select eo.product, eo.order from current_orders co
join exp_orders eo on co.product = eo.product
where eo.order < co.order;
你必须使用内连接命令,语法是这样的:
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
内部联接将为您提供两个表中条件为真的行,然后您为所需的其他条件添加 AND,如下所示:
SELECT Product,Orders
FROM table2
INNER JOIN table1
ON table2.Product = table1.Product AND table2.Product > table1.Product ;
使用 exists 检查所需条件:
select *
from table2 t2
where exists (
select * from table1 t1
where t1.product = t2.product
and t2.order > t1.order
);
我是 SQL 服务器的新手,想知道我应该如何处理以下情况:
我有两个 table:
第一个table有这个月的订单,有以下数据
Product | Order |
---|---|
First | 2000 |
Second | 3000 |
...和 10000 行
和第二个 table 具有下个月的预期订单并具有以下数据:
Product | Order |
---|---|
First | 3000 |
Second | 1000 |
...和 12000 行。
现在,我想查看第 2 个 table 中的产品,其中预期订单数超过第 1 个 table 中“订单”列中的值。 例如。在我们的例子中输出应该是
| Product |
| First |
你能帮我解决这个问题吗,因为列名很相似?
您可以使用别名按产品名称加入他们,并比较他们的订单
select eo.product, eo.order from current_orders co
join exp_orders eo on co.product = eo.product
where eo.order < co.order;
你必须使用内连接命令,语法是这样的:
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
内部联接将为您提供两个表中条件为真的行,然后您为所需的其他条件添加 AND,如下所示:
SELECT Product,Orders
FROM table2
INNER JOIN table1
ON table2.Product = table1.Product AND table2.Product > table1.Product ;
使用 exists 检查所需条件:
select *
from table2 t2
where exists (
select * from table1 t1
where t1.product = t2.product
and t2.order > t1.order
);