我有三張我需要加入的表。在'ON'子句中使用'case function'
表1具有列id,Name,idObject,lineItem。 表2具有列id,City,idLineItem,idOrder,idSupplier,idAdv。 表3的列idAdv,狀態。
我的查詢是:
select Table1.id, Table1.Name, Table1.idObject, Table2.City, Table3.State
from Table1
join Table2 ON case
when Table1.Name='abc' then Table1.idObject=Table2.idLineItem
when Table1.Name='def' then Table1.idObject=Table2.idOrder
else Table1.idObject=Table2.idSupplier
end
join Table3 on Table2.idAdv=Table3.idAdv
group by Table1.id, Table1.idObject;
您確實有疑問? – 2013-03-05 00:46:13
即使這可以與'case'語句或其他邏輯一起使用,它也是錯誤數據庫模式設計的查詢特徵。 – 2013-03-05 01:26:40