0
我已经搜索了网角转角,但还没有找到我的问题的解决方案。我有一张名为master的表,其中包含有问题的设备记录。当设备首次记录在数据库中时,作业的状态为cat_id = 11,当有人修复它时,他们再次输入相同的信息并将状态更改为cat_id = 1或2或3等。当cat_id(status)变成别的东西然后cat_id = 11我想用这个“mo_number”和cat_id =别的东西来做这个工作,不要在select查询中出现。mysql在同一表记录中的2行比较
表:主
id mo_number part_number cat_id date_created user_id
15 7200023 347893 11 01/03/2016 1
33 7200023 347893 1 10/03/2016 5
34 7200045 457890 11 11/03/2016 1
expected :
id mo_number part_number cat_id date_created user_id
34 7200045 457890 11 11/03/2016 1
这里是我的完整选择查询:
SELECT m.comment_id, m.mo_number, m.part_number, m.serial_number, m.comment,
m.date_created, CONCAT(u.first_name, ' ', u.last_name) as name
FROM master AS m
INNER JOIN users as u ON u.user_id = m.user_id
INNER JOIN category as c ON m.cat_id = c.cat_id
WHERE u.user_id = '1' AND m.cat_id = '11'
ORDER BY m.mo_number DESC
我不知道怎么写查询,以便这项工作并不在表中显示出来还开着。如果有人能帮忙,我将不胜感激。
谢谢你的回复shibormat,我已经编辑了主帖,向你展示了我的实际选择查询。因为我有内连接,并且我试图将您的查询修改为我的,但它不起作用。所以我张贴我的整个选择查询。 – Brume007
只是添加到你哪里'和不存在(从主选择1作为m1其中m1.user_id ='1和m1.cat_id = 1和m1.date> m.date和m1.part_number = m.part_number)' – shibormot
嗨Shibormot,我已经更新了我的问题,我想我一开始并不清楚,请再次分析并为我提供解决方案。我会虚心地欣赏它。 – Brume007