0

我在数据库中有 2 个表,person并且order表。

人表:

PERSON_ID | NAME

订单表:

ORDER_ID | ORDER_NO | PERSON_ID

我需要显示所有订单+相应人员的姓名(如果存在),如果不只是订单详细信息。

到目前为止,我开始查询:

SELECT ORDER_ID, ORDER_NO, order.PERSON_ID, NAME 
  FROM person, order 
 WHERE person.PERSON_ID = order.PERSON_ID AND 
       person.FIRST_NAME IS NOT NULL;

仅当名称可用时才给我订单,而尽管名称是否可用,我仍需要显示所有订单。

有什么建议么?

4

1 回答 1

2

是的,您可以使用LEFT JOIN

   SELECT o.order_id, o.order_no, o.person_id, p.name
     FROM `order` o
LEFT JOIN person p
       ON p.person_id = o.person_id AND p.FIRST_NAME IS NOT NULL

LEFT JOIN如果name是的话,null它仍然会给你命令。

于 2013-08-15T23:01:46.563 回答