我想合并两个表 [Table1] 和 [Table2] 并按 ID 显示结果 where [Tabl1].[names] = 'any string name'?
Posted
技术标签:
【中文标题】我想合并两个表 [Table1] 和 [Table2] 并按 ID 显示结果 where [Tabl1].[names] = \'any string name\'?【英文标题】:I want to merge two tables [Tabl1] and [Tabl2] and show result by ID where [Tabl1].[names] = 'any string name'?我想合并两个表 [Table1] 和 [Table2] 并按 ID 显示结果 where [Tabl1].[names] = 'any string name'? 【发布时间】:2017-04-22 20:42:30 【问题描述】:在我的示例中,名称如 '' 显示所有值 tabl2 和 tabl1
SELECT *
FROM
(SELECT
ID, names, NULL AS address, work, note
FROM
Tabl1
UNION
SELECT
ID, name, address, NULL, NULL
FROM
Tabl2) as x
ORDER BY
id, note DESC, address
【问题讨论】:
【参考方案1】:With CTE_NAME(ID, names) --临时表的列名 作为 ( 从表 1 中选择 ID 和名称 联盟 从表 2 中选择 ID 和名称
) SELECT * FROM CTE_NAME --SELECT 或使用 CTE 临时表 WHERE 名称 = "x" 按 ID 订购
【讨论】:
【参考方案2】:您需要使用 UNION 来组合两个查询的结果。在你的情况下:
SELECT ID, names, NULL AS address, work, note
FROM Tabl1
GROUP BY names
UNION ALL
SELECT ID, name, address, NULL, NULL
FROM Tabl2
GROUP BY Tabl3
注意 - 如果您像上面那样使用 UNION ALL,它不会比单独运行两个查询慢,因为它不进行重复检查。
【讨论】:
以上是关于我想合并两个表 [Table1] 和 [Table2] 并按 ID 显示结果 where [Tabl1].[names] = 'any string name'?的主要内容,如果未能解决你的问题,请参考以下文章