0

私は3つのテーブルを持っています:

1. Boy (id, Name, Address)     
2. Girl (id, Name, Address)    
3. Couples (Boy_id, Girl_id)   

表 Boy と Girl には、学校のすべての男の子と女の子の名前と個人情報が含まれています。

3 番目のテーブルは、その学校のカップルのリストで、Boy and Girl テーブルの男の子と女の子の ID を持っています。

ID ではなく、名前が出力されたカップルのリストを取得したいと考えています。

Output (Boy.Name, Girl.Name)

次のクエリを使用してみましたが、非常に大きな出力が得られます。

SELECT  
  Boy.Name, Girl.Name 
FROM   
  Boy, Girl, Couples 
WHERE   
  Boy.id = Couples.Boy_id AND Girl.id = Couples.Girl_id

このクエリの間違いを指摘して、正しいものを教えてください。

4

2 に答える 2

1
SELECT b.name, g.name FROM Couples c 
INNER JOIN Boy b ON c.Boy_id=b.id 
INNER JOIN Girl g ON c.Girl_id=g.id;
于 2013-10-14T01:17:16.263 に答える
0

そのような場合、JOINs を使用してデータを取得する必要があります。

SELECT b.name, g.name
FROM Couples c
LEFT JOIN Boy b ON (b.id = c.Boy_id)
LEFT JOIN Girl g ON (g.id = c.Girl_id)
于 2013-10-14T00:24:40.437 に答える