1

システムの一部として以下のクエリを生成しています。

SELECT * FROM (`videos`) WHERE (
    `videos`.`title` LIKE "%apple%" 
  OR WHERE 
    `videos`.`byline` LIKE "%apple%" 
  OR WHERE `videos`.`description` LIKE "%apple%"
);

ただし、これは構文エラーをスローしています。

元気?

whereこれらの 3 つの はリンクされており、その後に別々AND WHEREのが続くことが多いため、括弧が必要であることに注意してください。

4

3 に答える 3

4

SQL ステートメントでは、リテラル値を一重引用符で囲みます。また、この場合、必要な where 句は 1 つだけです。1 つの where 句を使用orし、述語を接続するために使用します。スクリプトには、不要な括弧も含まれています。

最終結果は次のようになります。

SELECT * FROM `videos` WHERE
    `videos`.`title` LIKE '%apple%' OR 
    `videos`.`byline` LIKE '%apple%' OR 
    `videos`.`description` LIKE '%apple%';
于 2013-01-24T10:39:45.580 に答える
0

OR WHERE」を「WHERE」に置き換え、二重引用符重引用符「 ---> 」に置き換えます

于 2013-01-24T10:43:55.300 に答える
0

OR WHERE は有効な SQL ですか? これを試して:

SELECT * FROM (`videos`) WHERE (
    `videos`.`title` LIKE "%apple%" 
  OR  
    `videos`.`byline` LIKE "%apple%" 
  OR `videos`.`description` LIKE "%apple%"
);
于 2013-01-24T10:42:09.920 に答える