2016-11-12 2 views
0

2つのテーブルカートとチェックがあります。 私はカートテーブルの行データが必要ですorderid列とexam_name列がチェックテーブルorder_id列と試験列と一致してはならないと私はuserid = $id私のPHP関数から渡しています。同じ列IDを渡すときに列が他の表の列と一致しないようなテーブル行を取得するSQLクエリ

id |userid | username | orderid    | exam_name | 
    1 |13  | Gautham |437b310v671N888M6720 | PMP  | 
    2 |13  | Gautham |437b310v671N888M6720 | CAPM  | 
    3 |13  | Gautham |437b310v671N888M6720 | Prince2 | 
    4 |14  | Rakesh |678g310v671N888M6720 | Prince2 | 

チェック表:

id |userid | username | orderid    | exam_name | 
    1 |13  | Gautham |437b310v671N888M6720 | PMP  | 
    2 |13  | Gautham |437b310v671N888M6720 | CAPM  | 

Iが受注カラムとEXAM_NAMEカートテーブルの行のデータを必要とする。ここで、ユーザIDは、テーブル

カートテーブルの両方に同じです列はチェック表のorder_id列と検査列と一致してはいけません。私はphp関数からuserid = $ idを渡しています。テーブル

1 |13  | Gautham |437b310v671N888M6720 | Prince2 | 
    2 |14  | Rakesh |678g310v671N888M6720 | Prince2 | 

両方が、私は参照から、以下のSQLクエリを得たが、その使用は、DBMS

select c.* 
from carts c 
where (c.orderid, c.exam_name) not in (select ch.order_id, ch.exam 
             from checks ch 
             where ch.userid = 13) 
+0

を動作していないため、ここでユーザーIDは同じですか..? – Mansoor

+0

私はMySQLデータベースを使用しています。 orderid列とexam_name列がチェック表order_id列と検査列と一致しないカートテーブルの行データが必要です。私はphp関数からuserid = $ idを渡しています。ここでは、両方のテーブルのユーザIDは同じです –

答えて

0
select c.* from carts c where NOT EXISTS (SELECT 1 FROM checks WHERE checks.orderid = c.orderid AND c.exam_name = checks.exam_name) 
    AND C.userid = 13 
+0

ありがとうMansoor。うまくいきます –

関連する問題