如何进行这样的查询:
SELECT column1 FROM table1 WHERE ppp=$parameter
AND (SELECT * FROM table2 WHERE parameter=$parameter AND qweqwe=$parameter2)
PS:'$'不是来自PHP,我只是表明这个值是可变的。
实际上,我在第二个查询中需要AND qweqwe<650
答案 0 :(得分:3)
也许是这样的:
SELECT
column1
FROM
table1
WHERE
ppp=$parameter
AND EXISTS
(
SELECT
NULL
FROM
table2
WHERE
table1.ppp=table2.parameter
AND qweqwe<$parameter2
)
答案 1 :(得分:2)
SELECT column1 FROM table1 WHERE parameter=$parameter
AND exists
(SELECT 1 FROM table2 WHERE table2.parameter=table1.parameter AND table2.qweqwe=$parameter2)
答案 2 :(得分:1)
这取决于您的数据。 您可以使用exists,如前面的答案中所示,也可以使用join。
SELECT column1 FROM table1
join table2 on table1.ppp=table2.parameter and table2.qweqwe=$parameter2
where table1.ppp=$parameter
在大多数情况下,加入将比存在快得多。但是如果table1中的每条记录中有多于一条recotd,那么你可能必须使用distinct;
答案 3 :(得分:0)
... AND 650<(SELECT qweqwe FROM table2 WHERE parameter=$parameter2)