很好的方式,我有3個表:來查詢交叉表
A(k1,A)
B(k1,k2,B)
和C(k2,C)
。
我想篩選滿足C.k2條件的所有A.在這個例子中,我必須過濾表B:過濾與A具有相同k1屬性的所有B,並用B過濾所有C k2屬性(之前已經過濾)。
我有一個醜陋的方式做到這一點:
select * from A where k1 in (select * .....)
//它看起來醜陋,很難追查
我雖然關於使用join
功能,但真的不知道如何做到這一點。請告訴我一個這個查詢的最佳方法。
謝謝:)
你可以發表你的表的結構嗎?沒有得到你的語言 –
你的「醜陋」的方法可以確保你不會得到重複的'A'行,你可以通過一個連接獲得,除非你做了'select distinct a。* ...'' –