gpt4 book ai didi

mysql - 具有非唯一值的高级 MySQL 查询问题

转载 作者:行者123 更新时间:2023-11-29 06:52:08 24 4
gpt4 key购买 nike

我有 3 个表,它们是这样设置的:

Quotes Table                        Stores Table    
id store_id date_submitted store_number code
1 15 1/29/13 23:13 15 ANT
2 16 1/30/13 7:47 16 MAT

Leads Table
code user_name
MAT User1
ANT User2

我想要做的是让查询返回 quotes 表中的所有值,然后是 Stores 表中的代码值,以及 leads 表中的 user_name。我希望它看起来像这样:

id  store_id    date_submitted  code    user_name
1 15 1/29/13 23:13 ANT User2
2 16 1/30/13 7:47 MAT User1

我写了以下查询:

SELECT id, store_id, date_submitted, code, user_name FROM quotes q, stores s, leads l WHERE CONCAT('%', q.store_id, '%') LIKE CONCAT('%', s.store_number, '%') AND s.code=l.code AND date_submitted > "2013-01-01 00:00:00" AND date_submitted < "2013-01-31 23:59:59" GROUP BY q.id

我遇到的问题是数据库没有将代码与正确的 store_id 匹配。

我不确定我在这里做错了什么,我查看了几篇 SO 帖子,并在谷歌上搜索无济于事。

如有任何帮助,我们将不胜感激。

最佳答案

那么,为什么要使用通配符 (%) 将 store_idstore_number 连接起来?不能使用完全匹配吗? .此外,为了清楚起见,您应该使用明确的 JOINs:

SELECT id, store_id, date_submitted, code, user_name 
FROM quotes q
INNER JOIN stores s
ON q.store_id = s.store_number
INNER JOIN leads l
ON s.code=l.code
WHERE date_submitted > "2013-01-01 00:00:00"
AND date_submitted < "2013-01-31 23:59:59"
GROUP BY q.id

关于mysql - 具有非唯一值的高级 MySQL 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14694084/

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