2009-06-08 2 views
0

次のエラーなので、間違っている必要がありますが、何がこれを行うには正しい方法です:1行で2つのSQLクエリ - どのように?

($クエリ) またはダイ(「クエリ 『$クエリが』エラーメッセージで失敗しました

$ rsPrimary =するmysql_query

$query = "SELECT * FROM tblProducts WHERE ProductId ='$SCId' AND SELECT * FROM tblProducts WHERE Cat ='$CatType' AND Type ='$TypeType'"; 
:\ ""。mysql_error()。 '"'); $ num = mysql_numrows($ rsPrimary); mysql_close();

答えて

7
SELECT * FROM tblProducts WHERE ProductId ='$SCId' 
            OR (Cat ='$CatType' AND Type ='$TypeType') 
1

WHERE句の 'AND'ステートメントは、右側に条件が必要です。そこにSELECTクエリを配置することはできません。

2

何が本当にしたいことはあるように私には見える:

select * from tblProducts 
where ProductId ='$SCId' 
or (Cat ='$CatType' AND Type ='$TypeType') 
0

すでに与えられた答えは、将来的に2つ以上の結果を追加したいが、場合、クエリの正しいですselect文を一緒に使用する場合は、UNIONまたはUNION ALLを参照する必要があります。したがって、最初のものをUNIONに置き換えた場合、元のクエリが機能していました。
UNIONは結果から重複を削除しますが、UNION ALLはそうではなく、したがって高速です。

関連する問題