繁体   English   中英

在 SQL Server 中选择唯一的列

[英]Selecting unique columns in SQL Server

(我希望得到一个与 SQL Server 兼容的解决方案)

假设我有一个包含 {A,B,C,D,E} 列的表“x”和另一个包含 {A,B,C,F,G} 列的表“y”。

我现在执行以下查询:

SELECT * FROM(
(SELECT * FROM x) AS M
LEFT JOIN
(SELECT * FROM y) AS N
ON M.A=N.A AND M.B=N.B AND M.C=N.C) AS K

输出表有 {A,B,C,D,E,A,B,C,F,G} 列,而我实际上希望选择一个包含 {A,B,C,D,E,F 列的表,G}

有没有办法解决这个问题?

您可以使用更简单的左连接并指定要选择的列:

SELECT
    m.A,
    m.B,
    m.C,
    m.D,
    m.E,
    n.F,
    n.G
FROM x AS m
LEFT JOIN y AS n
    ON m.A = n.A AND m.B = n.B AND m.C = n.C;

据我所知,您并不真正需要这里的所有子查询。 此外,通常执行SELECT *不是一件好事,您应该始终明确列出您希望选择的列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM