SQL: 内部 JOIN 语句没有给出正确的记录

SQL: Inner JOIN statement doesn't give the right records

对于下面的 SQL,我试图记录从右边开始的所有匹配行 table "order_flags".

 SELECT id, 
        po_number, 
        alert 
 FROM orders 
 INNER JOIN order_flags on order_flags.order_fk 
 WHERE order_flags.alert = " date("Y-m-d") . "
 AND order_flags.order_fk = orders.id 
 AND orders.flag_overdue_po='1';

table如下。第一个是订单 table 而第二个 order_flags table.

没有进一步调查,但您的 ON 语句只包含一个值。它需要你的两个表的两个匹配列,如

ON table1.column_id = table2.column_id

如果您不确定相关记录一定存在于order_flags,请使用left join.The sql maybe

SELECT id, 
        po_number, 
        alert 
 FROM orders 
 LEFT JOIN order_flags on order_flags.order_fk = orders.id
 WHERE order_flags.alert = " date("Y-m-d") . "
 AND orders.flag_overdue_po='1';