2012-03-02 25 views
0

は、私はこの二つのmysqlのテーブルがあるとしましょう:PHPを通じてmysqlの持つ2つのテーブルを比較

country 
---- 
username  Country 
John   USA 
Sarah   Canada 
fav_color 
---- 
username  Color 
John   Blue 
Sarah   Green 

どのように私はサラの好きな色を選択するが、彼女はカナダにある場合にのみすることができますか?

ような何か:二つのテーブル上の

SELECT color FROM fav_color WHERE name='sarah' AND username=(a canadian username) 
+1

これは宿題に関する質問ですか? –

+0

これは私にとっては宿題のようなものですが、この基本的なSQLの質問には複数の簡潔で正しい回答が異なります。 –

答えて

1

を選択し、ユーザー名でレコードを照合することを指定:

SELECT color FROM fav_color, country 
    WHERE fav_color.username='Sarah' AND 
    fav_color.username = country.username AND 
    country = 'Canada'; 
1

どうWHERE EXISTSを使用してはどうですか?

SELECT color FROM fav_color 
    WHERE EXISTS 
     (SELECT username FROM country 
      WHERE country.username = fav_color.username 
      AND country.Country = 'Canada') 
1
select color from fav_color where 
    name='sarah' and 
    name in (
     select name from country where country='canada' 
    ) 
3

Aかなりまっすぐ進む登録しよう。

SELECT color FROM fav_color f 
JOIN country c ON c.username=f.username 
WHERE c.username='Sarah' 
    AND c.country='Canada'; 

デモhere

関連する問題