我想连接我的 for 表(如下图) 当我使用第一个和第二个代码时,一切正常,但我没有我需要的所有数据。
第一个代码有效
SELECT *
FROM Erste.dbo.Persons1$
LEFT OUTER JOIN Erste.dbo.Adresses1$
ON Erste.dbo.Persons1$.Id=Erste.dbo.Adresses1$.Id
--LEFT OUTER JOIN Erste.dbo.Adresses2$
--ON Erste.dbo.Persons1$.Id=Erste.dbo.Adresses2$.Id
UNION
SELECT *
From Erste.dbo.Persons2$
LEFT OUTER JOIN Erste.dbo.Adresses2$
ON Erste.dbo.Persons2$.Id=Erste.dbo.Adresses2$.Id
第二个代码工作
SELECT *
FROM Erste.dbo.Persons1$
LEFT OUTER JOIN Erste.dbo.Adresses1$
ON Erste.dbo.Persons1$.Id=Erste.dbo.Adresses1$.Id
--LEFT OUTER JOIN Erste.dbo.Adresses2$
--ON Erste.dbo.Persons1$.Id=Erste.dbo.Adresses2$.Id
UNION
SELECT *
From Erste.dbo.Persons2$
LEFT OUTER JOIN Erste.dbo.Adresses2$
ON Erste.dbo.Persons2$.Id=Erste.dbo.Adresses2$.Id
第一个 SELECT 组合不起作用
SELECT *
FROM Erste.dbo.Persons1$
LEFT OUTER JOIN Erste.dbo.Adresses1$
ON Erste.dbo.Persons1$.Id=Erste.dbo.Adresses1$.Id
LEFT OUTER JOIN Erste.dbo.Adresses2$
ON Erste.dbo.Persons1$.Id=Erste.dbo.Adresses2$.Id
UNION
SELECT *
From Erste.dbo.Persons2$
LEFT OUTER JOIN Erste.dbo.Adresses2$
ON Erste.dbo.Persons2$.Id=Erste.dbo.Adresses2$.Id
错误: 消息 205,第 16 级,状态 1,第 1 行 使用 UNION、INTERSECT 或 EXCEPT 运算符组合的所有查询在其目标列表中必须具有相同数量的表达式。
完成时间:2024-02-27T18:25:24.6084257+01:00
我正在尝试合并这 4 个表。 你能帮我吗?
非常感谢 xQbert 的帮助。 我就是这样做的。
SELECT FirstName, SecondName, Ulica, Numer
FROM Erste.dbo.Persons1$, Erste.dbo.Adresses1$
WHERE Erste.dbo.Persons1$.ID=Erste.dbo.Adresses1$.ID
UNION
SELECT FirstName, SecondName, Ulica, Numer
FROM Erste.dbo.Persons1$, Erste.dbo.Adresses2$
WHERE Erste.dbo.Persons1$.ID=Erste.dbo.Adresses2$.ID
UNION
SELECT FirstName, SecondName, Ulica, Numer
FROM Erste.dbo.Persons2$, Erste.dbo.Adresses2$
WHERE Erste.dbo.Persons2$.ID=Erste.dbo.Adresses2$.ID
ORDER BY Numer ASC