簡體   English   中英

SQL - 在子查詢中傳遞列

[英]SQL - Passing column in subquery

我的命令:

Select sobe.Id, sobe.Naziv, sobe.Opis, sobe.Kat, (Select Group_CONCAT(studenti.Ime,studenti.Prezime) ImePrezime FROM studentsoba LEFT JOIN studenti ON studentsoba.Id_Sobe=sobe.Id AND studenti.JMBAG = studentsoba.JMBAG) AS ImePrezime from Sobe

這給了我這個錯誤:

1054 - 'on 子句'中的未知列'sobe.Id'

我知道問題出在哪里,但我不知道如何解決它。 我想在這個子查詢中傳遞sobe.Id

(Select Group_CONCAT(studenti.Ime,studenti.Prezime) ImePrezime FROM studentsoba LEFT JOIN studenti ON studentsoba.Id_Sobe=sobe.Id AND studenti.JMBAG = studentsoba.JMBAG)

我想查看那個房間里有哪些學生。 單詞 soba 意味着房間,JMBAG 就像每個學生的個人號碼

嘗試將其移至WHERE子句:

Select s.Id, sobe.Naziv, s.Opis, s.Kat,
       (Select Group_CONCAT(si.Ime, si.Prezime) as ImePrezime
        from studentsoba ss LEFT JOIN
             studenti si
             on si.JMBAG = ss.JMBAG
        where ss.Id_Sobe = s.Id 
       ) AS ImePrezime
from Sobe s;

相關的子查詢應該沒問題。 我想相關子句不能on子句中——我通常把它放在where子句中。

另請注意,我引入了表別名,因此查詢更易於編寫和閱讀。

暫無
暫無

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

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