我有2个表route
和combo
。
我尝试了很多查询(联合和联接)但没有成功。
我想获得Route
表中combo
表中rt_num
表中route
表中PDate
表中存在Route
条目的结果 id | rt_num | name |
----|--------------|------|
1 | 123 east | Ron |
2 | 2North | Ted |
4 | 909 | Ted |
。我完全迷失了。
Combo
表
id | Route | PDate |
----|----------|---------------------|
1 | 123 east | 2017-02-15 08:55:04 |
2 | 2North | 2017-02-16 10:55:04 |
Results
表
rt_num | Pdate |
----------|-------------|
123 east | 2017-02-16 |
123 east | 2017-02-17 |
2North | 2017-02-15 |
2Notrh | 2017-02-17 |
909 | 2017-02-15 |
909 | 2017-02-16 |
909 | 2017-02-17 |
{{1}}表
{{1}}
更多信息:
我有这两个查询: 从路线r,combo中选择DISTINCT r.rt_num,DATE_FORMAT(PDate,'%Y-%m-%d'); 从组合中选择DISTINCT Route,DATE_FORMAT(PDate,'%Y-%m-%d'); 每个返回所需的数据,我需要将它们并排显示,并将PD与PDate路由匹配,或者使用PDate或NULL我希望这是对我想要做的更好的解释。
答案 0 :(得分:1)
您可以使用NOT IN QUERY
SELECT * FROM `route` WHERE route.rt_num NOT IN (SELECT `Route ` FROM `combo`);
此查询返回值在组合表中不可用。
答案 1 :(得分:0)
以下查询通过Peter Brawley的帮助完成了我需要它做的事情
select a.rt_num, a.tdate, b.Route
from (
select distinct r.rt_num, date_format(t.PDdate,'%y-%m-%d') as tdate
from route r
join combo t on r.rt_num IS NOT NULL
) as a
left join (
select distinct Route, date_format(PDdate,'%y-%m-%d') as pudate
from combo
) as b on b.Route = a.rt_num and b.pudate = a.tdate ;