У меня есть две таблицы: tblOrganisations и tblContacts. У меня есть запрос, который возвращает организации. Я также хочу вернуть два контакта разных типов (primary = 1, alternate = 2), связанных с организацией. Тем не менее, я зациклился на том, как вернуть несколько полей, для нескольких контактов, из одной таблицы как разные вещи.Выберите два элемента из таблицы как две разные вещи
До сих пор я могу получить их ReferenceID как PrimaryID и SecondaryID.
SELECT tblOrganisations.*
, (SELECT tblContacts.ReferenceID
FROM tblContacts
WHERE tblOrganisations.ReferenceID = tblContacts.tblOrganisations_ReferenceID
AND tblContacts.tblContactTypes_ReferenceID = 1
) AS PrimaryID
, ( SELECT tblContacts.ReferenceID
FROM tblContacts
WHERE tblOrganisations.ReferenceID = tblContacts.tblOrganisations_ReferenceID
AND tblContacts.tblContactTypes_ReferenceID = 2
) AS SecondaryID
FROM tblOrganisations
Этот запрос получает мне организацию, и идентификаторСсылки о своих контактах с tblContacts как PrimaryID и SecondaryID для двух различных типов контактов я хочу. Но я хочу больше полей для каждого контакта - FirstName, LastName, EmailAddress и т. Д.
Я пробовал такие вещи;
SELECT tblOrganisations.*
,
(SELECT tblContacts.ReferenceID AS PrimaryID ,
FirstName AS PrimaryFirstName
FROM tblContacts
WHERE tblOrganisations.ReferenceID = tblContacts.tblOrganisations_ReferenceID
AND tblContacts.tblContactTypes_ReferenceID = 1
)
,
(SELECT tblContacts.ReferenceID AS SecondaryID ,
FirstName AS SecondaryFirstName
FROM tblContacts
WHERE tblOrganisations.ReferenceID = tblContacts.tblOrganisations_ReferenceID
AND tblContacts.tblContactTypes_ReferenceID = 2
)
FROM tblOrganisations
Но что на самом деле не вернуть ничего в PrimaryID, SecondaryID, PrimaryFirstName и т.д.
Спасибо за любую помощь или указатели :)
Большое вам спасибо, что работает! я уже много раз возился и искал это в течение нескольких часов - и это было так просто! Еще раз спасибо, хороший :) – luke