這是作業的一部分,要非常誠實,並不重要,但仍然如此。 所以,讓我們假設我們有如下表:現在mysql如何選擇在另一列中具有相同值且在另一個表的列中具有相同值的字段?
Song Singer_prod
composer title singer sing_title
A a1 S1 b1
A a2 S3 c3
B b1 S3 c1
C c1 S1 a1
C c2 S1 a2
C c3 S3 c2
S2 a1
,問題是選擇那些作曲家,他的每部影片一直唱只由一個歌手。 例如,作曲家B只有一個標題,b1,只唱S1。
此外,作曲家Ç寫C1,C2,C3,全部由S3只演唱。 這兩位作曲家應該在結果中出現。
相反,從作曲家的一個歌曲,A2是唱只S1但A1被S1唱都和S2,所以一個應該不會出現在結果中。
我試過無數組合的嵌套SELECTS,GROUP BY和WHERE,目前還沒有運氣。我唯一確定的是,應該在某個地方需要一個計數(歌手)= 1,儘管如此,仍然無果而終。
任何幫助將不勝感激!
告訴我們,到目前爲止,你已經嘗試過什麼 – n1c9
我最好的嘗試迄今已有大約什麼德盧卡下面回答, 是這樣的: SELECT作曲家,歌手,標題 宋 INNER JOIN singer_prod ON song.title = singer_prod.sing_title GROUP BY composer HAVING count(tragoudistis)= 1; 不幸的是,它仍然沒有回報我所希望的。 無論如何,感謝您的關注,希望我越來越接近! –
如果你解釋了爲什麼它不會返回你所期望的以及它返回的結果與你期望的結果會有所幫助。 –