2016-07-26 14 views
1

NOT INの中で1つ(SELECT)を削除した場合にのみOKです。アレイ();最初に、私はval =その価値とmark = 'major'という実を得たいと思っています。それでマーク=「年齢」またはマーク=「熟した」の果物を取り除きたいので、OR果実を使っていません。私はすでにNOT INの中のSELECTをチェックします。彼らが一人であればOKです。2つのSELECT内ではないecho配列()mysql php、1つのSELECTはOK

<?php 
 
$dia = $wpdb->get_results($wpdb->prepare(" 
 
\t \t \t SELECT fruit FROM table WHERE val IN (%s,%s,%s) AND mark = 'major' OR fruit NOT IN (
 
(SELECT fruit FROM table WHERE cat='uncommon' AND val = %s AND mark='age'), 
 
(SELECT fruit FROM table WHERE cat='uncommon' AND val = %s AND mark='ripe')) GROUP BY fruit 
 
\t \t \t ",$sym1,$sym2,$sym3,$age,$ripe)); 
 

 

 

 
?>

+0

あなたは '()'を使わずにメインクエリに 'と'と 'または'を混ぜて、解析/実行の順序を強制します。 –

+0

どのようにそれらを実施するのですか? – conan

答えて

1

あなたはちょうどあなたの条件を変更する必要があり、このために2つのクエリを必要としません。変更を行います。

(SELECT fruit FROM table WHERE cat='uncommon' AND val = %s AND mark='age') 

​​

そうでなければ、あなたが集計クエリを必要とするだろう。

+0

私はそれらを分けなければなりません。なぜなら私はvalと等しい2つの異なる値を持っているからです。それは$ ageと$ ripeです。 – conan

+0

Okですので、それを変更します。 – Devon

+0

私の編集はそれをどのように表示する必要があります – Devon

関連する問題