我必须计算2个不同表中匹配行的数量,还必须计算一个表中唯一行的数量,从中我计算另一个表中的匹配行。
我尝试选择所需的列,但我不了解如何计算匹配和不匹配的行:
select nastya.v_em, nastya.cdr3aa from nastya
union all
select emerson2017.vgene, emerson2017.amino from emerson2017
答案 0 :(得分:1)
尝试
id-使用您的表ID
使用别名
select ns.v_em, ns.cdr3aa, em.vgene, em.amino from nastya as ns, emerson2017 as em WHERE ns.id = em.id
或 内联
select ns.v_em, ns.cdr3aa, em.vgene, em.amino from nastya as ns
INNER JOIN emerson2017 as em ON ns.id = em.id
答案 1 :(得分:0)
您应将INNER JOIN
与条件配合使用以匹配期望在两个表上相等的列。结果集将是匹配的行。
SELECT * FROM tableA
INNER JOIN tableB on tableA.columnA = tableB.columnA AND ...
要查找唯一的行,请使用LEFT JOIN
检查其中第二个表的列不存在的行:
SELECT * FROM tableA
LEFT JOIN tableB on tableA.columnA = tableB.columnA
WHERE tableB.columnA IS NULL