我有一个查询...
select distinct(sod.sod_no), so.`so-no`, p.product_name, pod.prodstatus, po.`po-no`
from so_details sod
left join `sales-order` so on sod.so_number = so.`so-number`
left join products p on sod.product_id = p.product_id
left join po_details pod on sod.so_number = pod.so_number
left join `purchase-order` po on pod.po_number = po.`po-number`
where so.status = 'In Progress'
但它错了:
#1146 - Table 'po.po-no' doesn't exist
奇怪的是它可以毫无问题地读取sales-order
表。可能是什么问题?
答案 0 :(得分:2)
这条线是什么?
left join `sales-order` so on sod.so_number = so.`so-number`, po.`po-no`
我认为你可以删除, po.po-no
部分。它看起来像是一个复制粘贴错误。
答案 1 :(得分:0)
问题在于这一行:
left join `sales-order` so on sod.so_number = so.`so-number`, po.`po-no`
我不知道它为什么po.po-no
。此时,您的查询仍然不知道别名po
。
我建议使用统一样式来命名表和列。在SQL中,它通常是snake_case
,但似乎您在同一个数据库中使用_
和-
。