我正在尝试查找可能从我的数据库中丢失的数据。我有三个表,这是其中的一部分。第一个是事件表,第二个是子事件表,第三个是来自子事件的子事件的个人数据。需要复杂的MySql查询帮助
我想要做的是: 对于每个事件查找与其关联的子事件,如果子事件具有字段tfile设置然后忽略它,如果它不然后看个人'数据。如果有匹配的记录,则输出到列表中。
这里是我想会的工作,但不正确的:
select event.*, subevent.* from event.id
join subevent on event.id = subevent.eid
join pdata on subevent.subid = pdata.subid
where subevent.textfile = ''
and Count(pdata.subid) = 0;
编辑:从用户添加代码,使用真正的表名:
SELECT tb_event.*, cr_event.*
FROM tb_event
INNER JOIN cr_event ON tb_event.id = cr_event.eid
INNER JOIN searchable_data ON cr_event.id = searchable_data.race_id
WHERE cr_event.tfile = ''
GROUP BY cr_event.id
HAVING Count(searchable_data.race_id) = 0
其他信息,我相信问题在于searchable_data中有多少项目。它似乎没有找到零(我知道存在)。
按照尼克的建议,我通过
SELECT tb_event.*, cr_event.id
FROM tb_event
INNER JOIN cr_event ON tb_event.id = cr_event.eid
INNER JOIN searchable_data ON cr_event.id = searchable_data.race_id
WHERE cr_event.tfile = ''
GROUP BY tb_event.id, tb_event.ename, tb_event.ecity, tb_event.eplace, tb_event.elocation, tb_event.zip, tb_event.day, tb_event.year, tb_event.etime, tb_event.logo, tb_event.remail, tb_event.descr, tb_event.link, tb_event.reg, tb_event.rname, tb_event.created_by, cr_event.id
HAVING Count(searchable_data.race_id) = 0
我已经尝试了约一个小时,以获得这一个查询的工作加到列该组。任何人有任何其他想法?
谢谢卫斯理,我试图做同样的事情,并没有想出来。 –
这个最近的查询的输出是什么? – NickHeidke
0行返回。 –