我有以下表格:困難SQL查詢
TableA (id, tableB_id, tableC_id)
TableB (id, expirationDate)
TableC (id, expirationDate)
我想要從表A的tableB.expirationDate和tableC.expirationDate下令所有結果。我怎樣才能做到這一點?
我有以下表格:困難SQL查詢
TableA (id, tableB_id, tableC_id)
TableB (id, expirationDate)
TableC (id, expirationDate)
我想要從表A的tableB.expirationDate和tableC.expirationDate下令所有結果。我怎樣才能做到這一點?
select ta.*
from TableA ta
inner join TableB tb on ta.tableB_id = tb.id
inner join TableC tc on ta.tableC_id = tc.id
order by tb.expirationDate, tc.expirationDate
更新:
如果你沒有得到所有的記錄,那麼你就需要使用left outer join
:
select ta.*
from TableA ta
left outer join TableB tb on ta.tableB_id = tb.id
left outer join TableC tc on ta.tableC_id = tc.id
order by tb.expirationDate, tc.expirationDate
你試過:
SELECT a.* FROM TableA a
INNER JOIN TableB b on b.id = a.tableB_id
INNER JOIN TableC c on c.id = a.tableC_id
ORDER BY b.expirationDate, c.expirationDatetableB_id
結果集爲空。 – 2010-04-30 17:43:33
OrbMan建議您可以嘗試使用'LEFT OUTER JOIN'到其他表格。否則,請提供每個表格的樣本數據。 – 2010-04-30 17:54:34
如果結果集與其他建議是空的,你確保表中的數據實際上正確地相互關聯?
你可以發佈每個表的一些示例行嗎?
結果集爲空。 – 2010-04-30 17:41:54
@João:查看我的更新 – RedFilter 2010-04-30 17:52:36