从表中显示数据,其中数据不在其他表中,具有分组依据

时间:2018-01-02 01:50:08

标签: mysql sql

我有一张看起来像这样的表。

enter image description here

和这样的表

enter image description here

我的问题是这个。如何显示table2上不在table1上的数据?以日期为基础。例如。

enter image description here

以及如何包含日期?

我的意思是什么先生是如何显示table2中不在1 table1中的数据?例如BBB,CCC,DDD,EEE AAA仅在日期1/1/2018

中的{1}}中

2 个答案:

答案 0 :(得分:1)

SELECT a.*,b.*,
FROM Table1 a
LEFT JOIN Table2 b
Where a.Name <>b.Name

尝试以上查询。如果这不起作用,请提供一个sqlfiddle,我们将改进它。

答案 1 :(得分:0)

使用cross join生成所有可能的行,然后清除那些不存在的行:

select n.name, d.date
from table2 n cross join
     (select distinct date from table1) d left join
     table1 t1
     on n.name = t1.name and d.date = t1.date
where t1.name is null;