我有以下表格:
我正在尝试列出order
和menuItem
之间订购的2012-02-01
和2012-04-30
。我需要显示菜单项信息 - 即使是那些在此期间没有被任何客户订购的信息。 (在这种情况下,orderID
将为NULL
。)
结果应该是这样的:
orderID, item-name, grp-name
答案 0 :(得分:1)
这很可能不会起作用,因为我的信息很少,但你可能正在寻找一个类似这样的查询:
SELECT
`order`.orderID, menuItem.`item-name`, menuGroup.`grp-name`
FROM
menuItem
JOIN menuGroup ON
menuGroup.menuGrpNo = menuItem.menuGroup
LEFT JOIN orderItems ON
orterItems.menuItemNo = menuItem.menuItemNo
LEFT JOIN `order` ON
`order`.orderID = orterItems.orderID AND
`order`.orderDate BETWEEN '2012-02-01' AND '2012-04-30'
尝试了解其工作原理并将其用于解决问题的方法。特别是阅读different types of joins以及如何从多个表中进行选择。
另外,请避免对表或字段名称使用保留关键字(例如“order”)。