[英]Mysql Insert ColumnName is (SELECT value form another column of the same table)
[英]mysql How to select fields that have the same value in another column AND the same value in another table's column?
坦白地說,這是家庭作業的一部分,雖然不那么重要,但仍然如此。 因此,假設我們有以下表格:
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演唱。
另外,作曲家C編寫了c1,c2,c3 ,所有這些僅由S3演唱。 那兩位作曲家應該出現在結果中。
相反,在作曲家的A歌曲中, a2僅由S1演唱,而a1既由S1也由S2演唱,因此A不應該出現在結果中。
我嘗試了無數嵌套SELECTS,GROUP BY和WHERE的組合,但到目前為止還沒有運氣。 我唯一確定的唯一事情是,某個地方需要一個count(singer)= 1,盡管到目前為止卻毫無用處。
任何幫助將不勝感激!
SELECT Composer, Singer FROM Song x
INNER JOIN Singer_prod y on x.title = y.sing_title
GROUP BY Composer, Singer
HAVING COUNT(Distinct Singer) = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.