对于下面的表,我需要输出不在master_vehicle_inventory表的member_booking表中的行。 我还需要master_vehicle_inventory的结果,它们不在mb_startdate和mb_returndate的范围之间。Mysql加入查询失败
master_vehicle_inventory table
mvi_id
1
2
3
4
member_booking table
mb_id mb_startdate mb_returndate mvi_id
100 22-04-2016 30-04-2016 2
101 23-01-2016 02-05-2016 3
到目前为止,我已经试过这样:
SELECT
mb.mb_id,
mb.mb_startdate,
mb.mb_returndate,
mvi.mvi_id
FROM master_vehicle_inventory AS mvi LEFT JOIN LEFT
JOIN member_booking AS mb ON mvi.mvi_id = mb.mvi_id
WHERE CURDATE() NOT BETWEEN mb.mb_startdate
AND mb.mb_returndate
AND mvi.mvi_id NOT IN (SELECT mvi.mvi_id
FROM member_booking)
但它并没有给结果想。
对不起......问题没有很好地格式化.... –
嗨,那里,我编辑身体开始与问题,而不是一张桌子。我也试着理解你的第一个问题并重新编写它,所以它更容易理解。如果你认为这不是你想要的,请纠正它。 对于将来的问题,请缩进你的mysql查询,这样更容易阅读。为了提高你获得正确答案的机会,你可以给出一个最小的结果,以更好地形象化你的需求。 也尝试包括错误消息,如果有的话。它会帮助人们更好地帮助你!祝你好运! – cb0
Thansk cb0。在这里有点新,所以没有想法在问问题时的格式化...我会记住下次 –