在SQL Server中选择唯一列
(我希望获得与SQL Server兼容的解决方案) 假设我有一个包含列{a,B,C,D,E}的表'x',另一个包含列{a,B,C,F,G}的表'y' 我现在执行以下查询:在SQL Server中选择唯一列,sql,sql-server,Sql,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,
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*
不是一件好事,您应该始终明确列出您希望选择的列。不要使用*
。。。如果要返回特定列,请指定列。便于帮助: