满足两个条件的两个表中的相同列名
Posted
技术标签:
【中文标题】满足两个条件的两个表中的相同列名【英文标题】:Same column name from two tables satisfying two conditions 【发布时间】:2021-12-02 12:32:18 【问题描述】:我需要一些关于 SQL 的快速帮助。我敢肯定,这对大多数人来说都是基本的。
我想在两个满足 status = 1 的合并表中选择 orderId
。
请在此处找到两个表 tb1 和 tb2 的示例:
tb1
orderId status
---------------
001 0
003 1
005 1
007 1
...
tb2
orderId status
----------------
002 1
008 1
004 0
【问题讨论】:
UNION ALL
或 UNION
如果你想要唯一的行
【参考方案1】:
使用这个查询:
SELECT
tb1.OrderId,
tb1.Status
FROM
tb1
WHERE
tb1.status = 1
UNION
SELECT
tb2.OrderId,
tb2.Status
FROM
tb2
WHERE
tb2.status = 1;
【讨论】:
【参考方案2】:您可以使用UNION ALL
。
您的查询将是:
SELECT *
FROM (
SELECT *
FROM tb1
UNION ALL
SELECT *
FROM tb2
) a
WHERE STATUS = 1
【讨论】:
以上是关于满足两个条件的两个表中的相同列名的主要内容,如果未能解决你的问题,请参考以下文章