0

我想加入 2 个表,但没有 INNER JOIN 但有嵌套查询。

我有 2 张桌子:

  • 表 A:AField1、AField2、AField3、AField4
  • 表 B:BField1、BField2、BField3

表之间的链接是 AField1 和 BField1。

SELECT AField1, AField2, AField3
 FROM TableA
 WHERE AField1 IN (
    SELECT BField1 FROM TableB
    WHERE BField3 like 'E11%'
    );

我想要结果 AField1、AField2、AField3、AField4BField2、BField3

任何想法 ?

谢谢

4

1 回答 1

0

我相信这是您想要实现的目标——显然,此解决方案取决于连接完整性。因此,您必须确保 PK 匹配,以确保您不会获得不正确的加入。

SELECT a.AField1,
  a.AField2,
  a.AField3,
  bb.BField2,
  bb.BField3
FROM TableA a
WHERE EXISTS
  (SELECT 'X'
  FROM TableB b
  WHERE b.BField3 LIKE 'E11%'
  AND a.AField1 = b.BField1
  )
  (SELECT * FROM TableB WHERE BField3 LIKE 'E11%'
  ) bb
AND a.AField1 = bb.BField1

在 SQL 中,您可以为表设置别名——在此处阅读更多信息:何时使用 SQL 表别名

于 2013-09-25T06:09:33.833 回答