1

このようなクエリを作成する方法:

SELECT column1 FROM table1 WHERE ppp=$parameter 
AND (SELECT * FROM table2 WHERE parameter=$parameter AND qweqwe=$parameter2)

PS: '$' は PHP からのものではありません。この値が可変であることを示しているだけです。

実際にAND qweqwe<650は、2番目のクエリで必要です

4

4 に答える 4

3

多分このようなもの:

SELECT 
   column1 
FROM 
   table1 
WHERE 
   ppp=$parameter 
   AND EXISTS
       (
           SELECT
               NULL
           FROM
               table2
           WHERE
               table1.ppp=table2.parameter
               AND qweqwe<$parameter2
    ) 
于 2012-05-02T08:57:57.843 に答える
2
SELECT column1 FROM table1 WHERE parameter=$parameter 
AND  exists 
(SELECT 1 FROM table2 WHERE table2.parameter=table1.parameter AND table2.qweqwe=$parameter2)
于 2012-05-02T08:57:20.390 に答える
1

それはあなたのデータに依存します。前の回答に示されているように exists を使用するか、join を使用できます。

 SELECT column1  FROM table1 
 join table2 on table1.ppp=table2.parameter  and  table2.qweqwe=$parameter2
 where table1.ppp=$parameter  

ほとんどの場合、結合は存在するよりもはるかに高速です。ただし、table1 の各レコードに対して table2 に複数の recotd がある場合は、distinct を使用する必要があることが判明する可能性があります。

于 2012-05-02T09:06:41.893 に答える