【问题标题】:Sql query bring wrong resultssql查询带来错误结果
【发布时间】:2014-04-02 15:04:45
【问题描述】:

我在调试此查询时遇到问题,这给我带来了错误的结果...2 条记录而不是 1 条记录。

这是查询:

SELECT DISTINCT t1.*, t2.filterid as filterid2 
FROM ( SELECT DISTINCT a.*, f.`filterid` 
FROM adds a 
JOIN adds_filters f 
ON a.`addid` = f.`addid` 
WHERE a.`catid` = 1 
AND f.`filterid` = 67 ) t1 

JOIN ( SELECT DISTINCT a.`addid`,f.`filterid` 
FROM adds a 
JOIN adds_filters f 
ON a.`addid` = f.`addid` 
WHERE a.`catid` = 1 
AND f.`filterid` = 68 ) t2 

JOIN ( SELECT DISTINCT a.`addid`,f.`filterid` 
FROM adds a 
JOIN adds_filters f 
ON a.`addid` = f.`addid` 
WHERE a.`catid` = 1 
AND f.`filterid` = 158 ) t3 
ON t1.addid = t2.addid

由于表格相当长,这里是fiddle

任何帮助将不胜感激

问候,约翰

【问题讨论】:

  • 你的小提琴给了我一个结果......所以我不确定问题出在哪里。你期待什么结果?

标签: mysql


【解决方案1】:

我认为这就是你想要的最后一行

    ON t1.addid = t2.addid and t2.addid =t3.addid;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多