【发布时间】:2020-02-03 07:10:06
【问题描述】:
我正在努力学习联接,并在这里(SOFlow)和其他几个地方进行了广泛阅读,当然还复制了代码并进行了尝试。
所以我做了这个代码来适应我的桌子:
SELECT
a.FIRSTNAME, a.LASTNAME,
b.[LINE1], b.[LINE2], b.[LINE3], b.[SUBURB],
b.[STATE], b.[POSTCODE],
p.[PRIVATE], p.[BUSINESS], p.[MOBILE]
FROM
(SELECT
a.UNIQID, a.FIRSTNAME, a.LASTNAME
FROM [PTPARTY]) a
INNER JOIN
(SELECT
[LINE1], [LINE2], [LINE3], [SUBURB], [STATE], [POSTCODE], PARTYID
FROM
[PTAddresses]
WHERE
ADDRESS_TYPE = 'Mailing') b ON a.Uniqid = b.Partyid
INNER JOIN
(SELECT
[Uniqid], [PRIVATE], [BUSINESS], [MOBILE]
FROM [PTPhone]) P ON a.Uniqid = P.Uniqid
WHERE
a.UNIQID = 4
但我明白了:
消息 4104,第 16 级,状态 1,第 3 行
无法绑定多部分标识符“a.UNIQID”。消息 4104,第 16 级,状态 1,第 3 行
无法绑定多部分标识符“a.FIRSTNAME”。消息 4104,第 16 级,状态 1,第 3 行
无法绑定多部分标识符“a.LASTNAME”。
这段代码表现完美
SELECT
a.FIRSTNAME, a.LASTNAME,
b.[LINE1], b.[LINE2], b.[LINE3], b.[SUBURB], b.[STATE], b.[POSTCODE],
p.[PRIVATE], p.[BUSINESS], p.[MOBILE]
FROM
(SELECT
PTPARTY.UNIQID, PTPARTY.FIRSTNAME, PTPARTY.LASTNAME
FROM [PTPARTY]) a
INNER JOIN
(SELECT
[LINE1], [LINE2], [LINE3], [SUBURB], [STATE], [POSTCODE], PARTYID
FROM
[PTAddresses]
WHERE
ADDRESS_TYPE = 'Mailing') b ON a.Uniqid = b.Partyid
INNER JOIN
(SELECT
[Uniqid], [PRIVATE], [BUSINESS], [MOBILE]
FROM [PTPhone]) P ON a.Uniqid = P.Uniqid
WHERE
a.UNIQID = 4
我 99% 确定不工作的代码是从这里复制的,当然还有一些更改以适合我的表格。
只是想知道我是不是做错了什么。
好吧,我确定我做错了什么,但想知道是什么。
向大家问好,继续努力
【问题讨论】:
标签: sql tsql sql-server-2008-r2