我正在构建一个具有大量潜在输入的复杂搜索应用程序。每个输入都是可选的。我正在尝试以模块化方式构建查询。
假设我有两个不同的查询,每个查询都有独立的WHERE
条件:
SELECT * FROM t1 WHERE t1.c1 = x
SELECT * FROM t2 WHERE t2.c1 = y
我发现以下代码是有效的:
SELECT * FROM t1 INNER JOIN t2 ON t1.c2 = t2.c2 WHERE t1.c1= x AND t2.c1= y
但是,由于最后将WHERE
条件组合在一起,因此很难以模块化方式实现这一点。所以,我尝试了这个:
SELECT * FROM t1 WHERE t1.c1 = x INNER JOIN ON t1.c2 = t2.c2 WHERE t2.c1 = y
但是,此代码无效。WHERE
用独立子句连接任意数量的表的最佳方法是什么?