3

特定の ID を持つカテゴリを選択しようとしていますが、SQL クエリが非常に奇妙な動作をしています。

  SELECT * FROM (`feeds`) WHERE  `cat_id` =1 OR 2 OR 3 LIMIT 0 , 30

結果には、cat_id が 4 のアイテムが含まれます。次の図を参照してください。

ここを参照

これが機能する必要があります。スクリプトはこれを行います。ユーザーが国を指定すると、スクリプトはその国 ID を持つすべてのカテゴリを取得し、スクリプトはそれらのカテゴリ ID を持つすべてのフィードを選択する必要があります。最後の部分は、前の部分からのすべてのフィード ID を持つ投稿を取得することです。これはニュース サイトのようなもので、フィードはインポートされる RSS フィードです。助けていただければ幸いです。ちなみに、これには codeigniter を使用しています。

4

2 に答える 2

9

これを試して:

SELECT * FROM `feeds`
WHERE  `cat_id` in (1 ,2 , 3)
LIMIT 0 , 30

あなたは与えることができない

`cat_id` =1 OR 2 OR 3 

それはどちらかであるべきです

`cat_id` =1 OR `cat_id` =2 OR `cat_id` =3 

また

`cat_id` in (1,2,3)
于 2012-10-31T02:42:34.820 に答える
0

これを試して

SELECT * FROM (`feeds`) WHERE  `cat_id` =1 
OR `cat_id` =2  OR `cat_id` =3  LIMIT 0 , 30
于 2012-10-31T02:43:41.043 に答える