2011-06-26 2 views
-3
CREATE TABLE table1(kid char(2),color varchar(9)); 

INSERT INTO table1('k1'.'yello'); 
INSERT INTO table1('k1'.'red'); 
INSERT INTO table1('k2'.'yello'); 
INSERT INTO table1('k2'.'blue'); 
INSERT INTO table1('k3'.'yello'); 

Q:colorの値が黄色と赤(両方)の表1のkidを表示しますか?以下の表のSQLクエリは何ですか?

sqlクエリとは何ですか?

+4

この宿題はありますか? – driis

+0

yes123は本当の質問ではないと投票しました – dynamic

答えて

0
SELECT kid 
    FROM table1 as t, 
     table1 as t2 
WHERE t1.color = 'yellow' 
    AND t1.kid = t2.kid 
    AND t2.color = 'red' 
1

用途:

SELECT t.kid 
    FROM TABLE1 t 
    WHERE t.color IN ('yellow', 'red') 
GROUP BY t.kid 
    HAVING COUNT(DISTINCT t.color) = 2 
  • IN句がcolor値ですレコードのみを取得するか、黄色や赤
  • GROUP BY
  • COUNT(DISTINCT t.color) = 2が有効を保証重複
  • を除去する必要がある kid値が返されます。 DISTINCTがなければ、2つのイエロー/等は COUNTチェックを満足するでしょう
関連する問題