簡體   English   中英

從表中選擇兩個項目作為兩個不同的項目

[英]Select two items from a table as two different things

我有兩個表:tblOrganisations和tblContacts。 我有一個查詢,它帶回組織。 我還想帶回鏈接到組織的兩個不同類型的聯系人(主要= 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

上面的查詢為我提供了組織,以及他們從tblContacts獲得的聯系人的ReferenceID,分別是我想要的兩種不同類型的聯系人的PrimaryID和SecondaryID。 但我想為每個聯系人提供更多字段-名字,姓氏,電子郵件地址等

我嘗試過類似的東西;

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等中的任何內容

感謝您的幫助或指點:)

具有期望值的表必須連接兩次。在這種情況下,它將是tblcontacts。

SELECT 
o.*,
c1.referenceid AS PrimaryID,c1.firstname as primaryfirstname,
c2.referenceid AS SecondaryID,c2.firstname as secondaryfirstname
FROM tblOrganisations o
JOIN tblContacts c1 on o.ReferenceID = c1.tblOrganisations_ReferenceID 
JOIN tblContacts c2 on o.ReferenceID = c2.tblOrganisations_ReferenceID
WHERE c1.tblContactTypes_ReferenceID = 1 and c2.tblContactTypes_ReferenceID = 2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM