【发布时间】:2016-10-16 03:01:46
【问题描述】:
我正在尝试选择所有 transactions,其中 billing_address 城市位于“纽约”,但 shipping_address 城市不在“纽约”。我正在努力解决的问题是,在查看transactions 表时,有两列(shipping_address_id 和billing_address_id),它们各自的 id 作为两个单独的记录存储在address_table 中。
由于我需要检查transactions 表中这两列的送货/账单地址是否为“纽约”,因此我尝试在查询中对address_table 进行双重连接,虽然它似乎不能正常工作。有人知道我在哪里出错了吗?谢谢!
SELECT billing.id AS billing_address, shipping.id AS shipping_address
FROM transactions AS t
LEFT JOIN address_table AS billing
ON t.billing_address_id = billing.id
AND billing.city = 'New York'
AND t.billing_address_id IS NOT NULL
LEFT JOIN address_table AS shipping
ON t.shipping_address_id = shipping.id
AND shipping.city != 'New York'
AND t.shipping_address_id IS NOT NULL;
【问题讨论】:
-
您能否对数据和预期结果进行采样。查询对我来说看起来不错