Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有非唯一值的高级MySQL查询问题_Mysql_Sql - Fatal编程技术网

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

具有非唯一值的高级MySQL查询问题,mysql,sql,Mysql,Sql,我有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

我有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表中的code值,以及leads表中的用户名。我希望它看起来像这样:

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
从引号q、stores、lead l中选择id、store\u id、date\u submitted、code、用户名,其中CONCAT(“%”、q.store\u id、“%”)如CONCAT(“%”、s.store\u number、“%”)和s.code=l.code和date\u submitted>“2013-01-01 00:00:00”和date\u submitted<“2013-01-31 23:59:59”按q.id分组
我遇到的问题是,数据库没有将代码与正确的存储id匹配

我不确定我在这里做错了什么,我看了几篇这样的帖子,在谷歌上搜索也没用


如果您能提供任何帮助,我们将不胜感激。

那么,您为什么要使用通配符(
%
)将
store\u id
store\u number
加入
store\u id>,您不能使用精确匹配吗?。此外,为了清楚起见,您应该使用显式的
JOIN
s:

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
选择id、门店id、提交日期、代码、用户名
引自q
内部连接存储区
在q.store\u id=s.store\u编号上
内连接导线l
关于s.code=l.code
其中提交日期>2013-01-01 00:00:00
提交日期<“2013-01-31 23:59:59”
按q.id分组

谢谢,我之所以使用(%)是因为一些商店id的前导零,但我最终使用了TRIM。