テーブルが2つあります:tblOrganisationsとtblContactsです。私は組織を取り戻す質問を持っています。私はまた、組織にリンクされた異なるタイプの2つのコンタクト(プライマリ= 1、代替= 2)を戻したいと思っています。しかし、私は複数のフィールドを複数の連絡先のために1つのテーブルから別のものに戻す方法について固執しています。テーブルから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
上記のクエリは私に組織を取得し、私は連絡先の二つの異なるタイプのためPrimaryIDとSecondaryIDなどtblContactsから自分の連絡先のReferenceID年代。しかし、私は各連絡先のフィールドをもっと必要としています - 名前、姓、電子メールアドレスなど
私はものを試しました。所望の値と
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