gpt4 book ai didi

mysql - 其他表中没有外键的 SQL 查询

转载 作者:行者123 更新时间:2023-11-29 10:33:39 25 4
gpt4 key购买 nike

我的 MySQL 查询有问题,我有两个表 - 报价和出价:

offers                       bids

id status id offer_id user_id
1 new 1 1 1
2 new 2 1 2
3 rejected 3 2 1
4 accepted 4 4 4
5 new 5 5 2
6 new 6 6 3
7 new 7 7 1

假设 user_id = 2,我需要此 user_id 的所有报价(来自表报价),其状态为"new",但没有该用户出价的这些报价(没有报价 1 和报价 5)

我尝试过“不存在”,但没有取得多大成功。喜欢:

SELECT distinct o.*
FROM offers o
LEFT JOIN bids AS b
ON o.id = b.offer_id
WHERE o.status = "new" AND (b.user_id!=2
OR NOT EXISTS (SELECT * FROM offers off WHERE b.offer_id = off.id))

类似(当没有其他用户出价相同的报价时我可以得到结果),但我无法得到我需要的东西。

编辑:

作为本例中的输出,我需要带有 ID 的报价:

2 6 7(报价 3 和 4 不是“新的”,对于报价 1 和 5,用户已经出价)

最佳答案

您不需要加入这里。非常简单

  • 选择状态为的优惠
  • 排除 user = 2 出价的报价

查询:

SELECT * FROM offers o
WHERE o.`status` = 'new' AND
o.id NOT IN (SELECT offer_id from bids b WHERE b.user_id = 2)

关于mysql - 其他表中没有外键的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46907120/

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