Я пытаюсь изучать объединения и много читал здесь (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% уверен, что не работаетотсюда был скопирован код с изменениями, чтобы соответствовать моим таблицам.
Просто интересно, что я делаю что-то не так.
Ну, я уверен, что я делаю что-то не так, но хотел бы знать,что.
С уважением и всем доброй работы