동일한 열 ID를 전달할 때 열이 다른 테이블 열과 일치하지 않아야하는 테이블 행을 가져 오는 SQL 쿼리

라기스 토마스

두 개의 테이블 카트와 수표가 있습니다. orderid 열과 exam_name 열이 checks table order_id 열 및 시험 열과 일치하지 않아야하는 carts 테이블의 행 데이터가 필요하며 userid = $id내 PHP 함수에서 통과 하고 있습니다. 여기서 사용자 ID는 두 테이블 모두에 대해 동일합니다.

카트 테이블 :

    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      |

orderid 열과 exam_name 열이 checks table order_id 열 및 시험 열과 일치하지 않아야하는 carts 테이블의 행 데이터가 필요하며 내 PHP 함수에서 userid = $ id를 전달하고 있습니다. 여기서 사용자 ID는 두 테이블 모두에 대해 동일합니다.

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

참조에서 아래 SQL 쿼리를 얻었지만 작동하지 않습니다.

 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)
Mansoor
 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

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관