gpt4 book ai didi

mysql - SQL查询获取表行,当传递相同的列id时,其列不应与其他表列匹配

转载 作者:行者123 更新时间:2023-11-29 20:00:16 24 4
gpt4 key购买 nike

我有两个 table 推车和支票。我需要 carts 表的行数据,其 orderid 列和 exam_name 列不应与检查表 order_id 列和 exam 列匹配,并且我从我的 php 函数传递 userid = $id 。这里两个表的用户 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 |

我需要 carts 表的行数据,其 orderid 列和 exam_name 列不应与检查表 order_id 列和 exam 列匹配,并且我从我的 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)

最佳答案

 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

关于mysql - SQL查询获取表行,当传递相同的列id时,其列不应与其他表列匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40559939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com