0
我打破了我的头试图修改此查询(thx sgeddes)以便 不仅从db_events.events字段获得结果,而是将其与某些db_system结合使用。设备领域修改MYSQL查询以获得两个表之间的JOIN
SELECT e.*
FROM db_events.events e
JOIN (
SELECT Max(id) MaxId, device_id
FROM db_events.events
GROUP BY device_id) e2 on e.Id = e2.MaxId AND e.device_id = e2.device_id
WHERE e.device_id IN (
SELECT device_id
FROM db_system.devices
WHERE vendor = 1)
ORDER BY e.id DESC
我怎样才能得到它不重复的子查询:
SELECT *
FROM db_system.devices
WHERE vendor = 1
我需要得到db_system.devices.brand
和db_system.devices.model
与最终结果加盟, 我试图修改它一步一步来,我尝试了临时表,我怀疑它应该是简单的,但我一直没有能够做到,当然非常感谢你...
我想这就是他想要的东西,结果还是一样 - 我刚才看到他的评论对我的以前的回答 - 谢谢@JW! +1 – sgeddes 2013-02-19 13:50:49
@ JW,@ sgeddes,伙计们,我试图理解它,你如何应用逻辑来解决它?似乎在内部解决......嗯,非常感谢。 – user1913878 2013-02-19 14:21:24
子查询分别为表db_events.events中的每个'device_id'获取最大'ID'。子查询的结果然后在表'db_events.events'(*自排连接*)上重新连接,只要它匹配'MaxID'和'device_id'。然后,表部分结果再次在表db_system.devices中加入,以便您可以获取记录具有相同'device_id'的其他值 – 2013-02-19 14:27:10