簡體   English   中英

SQL SELECT JOIN COLUMN ALIAS

[英]SQL SELECT JOIN COLUMN ALIAS

在此先感謝您的幫助:

[People]表有兩列:

  • 是PersonID
  • PERSONNAME

[Marriages]表有三列:

  • MarriageID
  • PersonIDa
  • PersonIDb

我想選擇以下列:

  • MarriageID
  • PersonName(適用於personIDa)
  • PersonName(for personIDb)

我想我需要使用帶有JOINSELECT語句,但我不確定如何為每個PersonName分配一個唯一的別名。 這是我到目前為止(這不起作用):

SELECT 
    [Marriages].[MarriageID], 
    [People].[PersonName] AS aName, 
    [People].[PersonName] AS bName  
FROM 
    [Marriages]  
JOIN 
    [People] ON [Marriages].[PersonIDa] = [People].[PersonID]  
JOIN 
    [People] ON [Marriages].[PersonIDb] = [People].[PersonID]  

再次感謝...

這符合您要完成的任務嗎?

SELECT m.[MarriageID], peopleA.[PersonName] AS aName, peopleB.[PersonName] AS bName  
FROM [Marriages]  M
JOIN [People] peopleA ON m.[PersonIDa] = peopleA.[PersonID]  
JOIN [People] peopleB ON m.[PersonIDb] = peopleB.[PersonID]  

我想你正試圖這樣做......

SELECT 
m.[MarriageID], 
pa.[PersonName] AS aName,
pb.[PersonName] AS bName  
FROM [Marriages] m
JOIN [People] pa ON m.[PersonIDa] = pa.[PersonID]  
JOIN [People] pb ON m.[PersonIDb] = pb.[PersonID];

你需要這樣的東西:

Select MarriageID, a.PersonName, b.PersonName
From Marriages m
Join People a On a.PersonID = m.Person1ID 
Join People b on b.PersonID = m.Person2ID 

不要忘記你需要什么類型的JOIN ......“INNER JOIN”/“LEFT OUTER JOIN”/“RIGHT OUTER JOIN”/“CROSS JOIN”

SELECT MarriageID, a.PersonName, b.PersonName
FROM Marriages m JOIN People a ON a.PersonID = m.Person1ID 
                 JOIN People b ON b.PersonID = m.Person2ID 

感謝大家; 你的建議完美無缺。 當我試圖在JOIN語句中為重復表創建別名時,我試圖在SELECT語句中為重復列創建別名。

對於遇到此問題的其他人:

SELECT  
[TABLE1 NAME].[TABLE1 COLUMN],  
(TABLE2 ALIAS1).[TABLE2 COLUMN],  
(TABLE2 ALIAS2).[TABLE2 COLUMN],  
FROM [TABLE1 NAME]  
JOIN [TABLE2 NAME] (TABLE2 ALIAS1) ON [TABLE1 NAME].[TABLE1 MATCHING COLUMN] = (TABLE2 ALIAS1).[TABLE2 MATCHING COLUMN]  
JOIN [TABLE2 NAME] (TABLE2 ALIAS2) ON [TABLE1 NAME].[TABLE1 MATCHING COLUMN] = (TABLE2 ALIAS2).[TABLE2 MATCHING COLUMN]  

別名在JOIN語句中創建,並應用於SELECT語句中的使用位置,而不是相反。

暫無
暫無

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

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