duandiaoqian5795 2012-10-22 16:40
浏览 31
已采纳

SQL选择具有匹配值的行

i'm trying to put together a SELECT statement using php and sql, but i'm having a hard time trying to select the items I want.

lets say my table looks like this...


master_record_id     credit_id     credit_value
118                  5             Brian J
119                  5             Brian J
120                  7             Katie W
121                  5             Brian J
121                  7             Katie W
125                  7             Katie W

I'm trying to find which master_record_id has both Katie W and Brian J in it. So I selected for credit_value = Brian J OR Katie W and this is the result.

Based on this small selection, I can see that the answer I want is 121 but how can I select for that? I want to find the master_record_id that contains both Katie W and Brian J...

Is there a way for me to say, "SELECT the master_record_id that contains both Katie W and Brian J"?

  • 写回答

3条回答 默认 最新

  • douri4459 2012-10-22 16:44
    关注

    You need to use a self-join:

    SELECT a.master_record_id
    FROM tablename a JOIN tablename b USING (master_record_id)
    WHERE a.credit_value = 'Brian J'
    AND b.credit_value = 'Katie W'
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?