SQL高级子选择查询

JL.*_*JL. 3 sql

我想扩展这个简单的子选择:

Select * from table1 where pkid in (select fkid from table2 where clause...)
Run Code Online (Sandbox Code Playgroud)

上面的逻辑非常简单 - 在table1中获取所有行,其中pkid包含在具有where子句的子选择查询返回的子集中.它运作良好,因为只返回了1个字段.

现在我想扩展一下.

在表1中,我想返回结果,其中field1和field2以及field3在select(field1,field2,field3 from table2 where clause ...)

这怎么可能?

提前致谢.

例.

表格1

FIELD1  FIELD2 FIELD3    
1       2      3    
2       3      4     
4       5      6
Run Code Online (Sandbox Code Playgroud)

表2

2       3      4 
4       5      6
Run Code Online (Sandbox Code Playgroud)

我想返回2个结果.

Mar*_*rco 6

如果我了解您的需求,您可以尝试:

SELECT t1.field1, t1.field2, t1.field3 FROM table1 t1
INNER JOIN table2 t2
    ON t1.field1 = t2.field1
   AND t1.field2 = t2.field2
   AND t1.field3 = t2.field3
   AND t2.... // Use this as WHERE condition
Run Code Online (Sandbox Code Playgroud)