我的表格看起来像
from_type, from_id, to_type, to_id
A 12 B 15
B 15 C 16
我试过
select A.FROM_TYPE,A. FROM_ID, B.TO_TYPE, B.TO_ID
from ITEM_LINK A JOIN( select FROM_TYPE, FROM_ID, TO_TYPE, TO_ID
from table
WHERE FROM_TYPE = 'B' and TO_ITEM_TYPE ='C')
B ON A.TO_TYPE =B.FROM_TYPE
where A.FROM_TYPE = 'A' and A.TO_TYPE ='B'
但是这个查询不能正常工作,作为这个查询的答案我想要
from_type, from_id, to_type, to_id
A 12 C 16
我不需要B回答。此查询也将由另一个查询中的FROM_ID FROM_TYPE A加入。任何想法如何构建此查询?
我的回答是不正确的,因为它向我展示了类似的东西
from_type, from_id, to_type, to_id
A 12 C 16
A 12 C 17
A 12 C 18
这是不正确的,因为TYPE A只能连接到一个TYPE C
答案 0 :(得分:1)
试试这个
select t1.`from_type`, t1.`from_id`, t2.`to_type`, t2.`to_id` from Table1 t1
inner join table1 t2
On t1.`to_type` = t2.`from_type`
and t1.`to_id` = t2.`from_id`
抱歉没有看到它的sql server
试试
select t1.[from_type], t1.[from_id], t2.[to_type], t2.[to_id] from Table1 t1
inner join table1 t2
On t1.[to_type] = t2.[from_type]
and t1.[to_id] = t2.[from_id]