0
複数のOR文を使用して1つのSQL文でクエリを結合すると、個々のOR文から返されるレコード数は同じ数になりません。誰かに助言してもらえますか?例えば複数のOR条件をSQLで使用する
:
$sql1 = SELECT * FROM table_1 WHERE x = '0';
$sql2 = SELECT * FROM table_1 WHERE y = '0';
$sql3 = SELECT * FROM table_1 WHERE z = '0';
複合クエリー:
$sql_total = SELECT * FROM table_1 WHERE x='0' OR y='0' OR z = '0';
私は戻ってsql_totalから取得したレコードの数がSQL1によって返されるレコードの数を合計することによって返さ組み合わせたレコードは異なっています、sql2、およびsql3を組み合わせたものです。どこが間違っていますか?
いくつかの行には2つの条件があります。 –
これについて考えてみましょう:xとyが0の行はありますか?それらは$ sql1、$ sql2、$ sql_totalによってそれぞれ1回だけ返されます。 –
このSQL Fiddleをチェックしてください:http://sqlfiddle.com/#!9/5b72e1/1 3つの列のうちの2つが「0」に等しいことは、このクエリを実行した場合、または3つのシングルクエリで行数を数えた場合は何も変更されません。 –