我正在尝试从表中选择一个特定的信息,这取决于其他两个表的条件。
当我尝试单独的条件工作,但当我尝试与条件不工作。
Whit我从表中得到了正确的数据:
$sql = "SELECT * FROM commerce_order WHERE m_key = 'total'";
有了这个,我也从表中得到结果:
$sql = "SELECT *
FROM commerce_order M
JOIN commerce_order_items I
ON M.item_id = I.item_id
JOIN produtcs P
ON I.order_id = P.ID
WHERE status = 'complete'";
但是当我尝试这个时,我没有得到任何结果:
$sql = "SELECT *
FROM commerce_order M
WHERE m_key = 'total'
JOIN commerce_order_items I
ON M.item_id = I.item_id
JOIN produtcs P
ON I.order_id = P.ID
WHERE status = 'complete'";`
我希望第一个代码结果可以通过第二个代码条件进行过滤。我现在是第一张表中应该返回的值,但我没有得到任何值。
你不能把WHERE m_key = 'total'
放在JOIN
之前你所有的WHERE
条款应该在你所有的JOIN
s之后:
$sql = "SELECT *
FROM commerce_order M
JOIN commerce_order_items I
ON M.item_id = I.item_id
JOIN produtcs P
ON I.order_id = P.ID
WHERE status = 'complete' AND m_key = 'total'";