我正在尝试从tableA中获取所有票证,其中tableB.tid与tableB.category相关。请注意,表A中的最后2条记录不符合上述条件。
tableA tickets tid category 124560 123 xx 116550 125 xx 124777 244 yy 225560 223 yy 258965 244 xx 445878 123 yy
tableB tid category des 123 xx description_xx_123 223 yy description_yy_223 125 xx description_xx_125 244 yy description_yy_223
预期结果是
tableA tickets 124560 116550 124777 225560
答案 0 :(得分:2)
进行内部联接时,它只会在两个表中返回结果。
select a.tickets
from tablea a
join tableb b on a.tid = b.tid and a.category = b.category
答案 1 :(得分:1)
为此使用联接
SELECT tableA.tickets FROM tableA
JOIN tableB
ON tableA.tid = tableB.tid
AND tableA.category = tableB.category
也可以使用where子句
SELECT tableA.tickets FROM tableA, tableB
WHERE tableA.tid = tableB.tid
AND tableA.category = tableB.category
答案 2 :(得分:1)
我推荐exists
:
select a.*
from tabla a
where exists (select 1
from tableb b
where a.tid = b.tid and a.category = b.category
);
这将忽略tableb
中的重复项。