假设我有桌子, 表A,表B和表C. 表A和表B的主键与表C不同 我把tableA作为
aID aDetails
A1 abc
A2 xyz
A3 mno
TableB as
bID bDetails
B1 any
B2 some
TableC as
aID bID
A1 B1
A2 B1
A3 B2
我使用的查询是
"select TableA.aID,TableB.bID from tableA
inner join TableC on TableC.aID = TableA.cID
inner join TableB on TableB.bID = TableC.cID "
我得到的结果是:
A1 B1
A2 B1
我的实际要求是,由于A1和A2有共同的B1,我需要
A1 B1 or A2 B1
如果TableB中的多行与TableA中的Row连接,如何只获取单行?
答案 0 :(得分:0)
只需在查询末尾添加group by语句:
Group by TableB.bid
答案 1 :(得分:0)
如果您只想要一行,请使用group by
。 group by
子句中的不列应位于聚合函数中:
select min(a.aID),T b.bID
from tableA a inner join
TableC c
on c.aID = a.cID inner join
TableB b
on b.bID = c.cID
group by b.bID;