2012-03-25 9 views
0
member purchase fruit 
1   1  apple 
1   2  apple 
1   3  banana 
1   4  banana 
2   1  apple 
2   2  apple 
2   3  banana 
2   4  banana 

次の結果セットはどのように生成されますか?1つのフィールドに内容があると、同じ行の別のフィールドに値を渡すクエリはどのように実行されますか?

SELECT *フルーツ=(レコード内の果実はメンバー=?と購入=?)

たとえば、結果セットは次のようになりmember = 2purchase = 3場合、テーブルFROM

member purchase fruit 
2   3  banana 
2   4  banana 
+0

1,3、バナナ、1,4、バナナの2つの行を選んでみませんか? –

+3

彼はおそらく外側のSELECTに 'AND member = 2'を望んでいるでしょう... –

+0

ジョナスを見ていただきありがとうございます、あなたは正しいです、私の外側の' SELECT'に 'AND member = 2'が必要です – user784637

答えて

3

SELECT * FROMテーブルのフルーツ=(メンバー=?および購入=?のレコードのフルーツ)

t。これを試してみてください:

SELECT * FROM yourtable WHERE fruit = 
(
    SELECT fruit FROM yourtable WHERE member = ? AND purchase = ? 
) 

ます。また、コメントでジョナス・ハイデルベルクで述べたように、クエリの最後にAND member = ?を追加することもできます。

関連する問題