簡體   English   中英

Select 來自子查詢的列

[英]Select A column from Subquery

我有一個如下查詢

Select Student_ID, Name, School
From Student S
Where S.Student_ID in ( select associate_id from Details D)

output 計數如期而至

但是現在我有一個新要求,即從 Details 表中獲取數據中的附加列(D.Subject)

Select S.Student_ID, S.Name, S.School, D.Subject
From Student S
Where  S.Student_ID in ( select associate_id from Details D)

當我試圖通過使用下面的連接來實現上述目標時,計數不匹配。 我嘗試了左外連接和內連接,但計數不正確。

Select S.Student_ID, S.Name, S.School, D.Subject
From Student S
Left outer join Details D on S.Student_ID = D.associate_id
Where S.Student_ID in ( select associate_id from Details D)

請讓我知道如何實現這一目標

由於我們沒有樣本數據,我試圖根據你的問題把一些東西放在一起

問題在於不同的計數。 您應該在 select 中使用不同的值。 真的不需要 where 條件,因為這將包含在您的加入條件中。

Select distinct S.Student_ID, S.Name, S.School, D.Subject
From Student S join Details D on S.Student_ID = D.associate_id;

這將為您提供獨特的計數。 因為這些表之間可能有更多的連接條件,而不僅僅是列 student_id 到 associate_id

例如-如果我舉下面的例子

學生表 詳細信息 行內查詢會給你一個不同的計數然后內連接。

因此,您要么找到正確的連接條件,要么區分這些值以保持密切聯系。

暫無
暫無

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

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