0

「ブログ」というテーブルから、正しい部門 ID を持つ行を選択しようとしています。department_id フィールドは「1,4,5」のようになります。ここで、サイト番号 1、4、または 5 のクエリの場合、番号がそのフィールドにあるため、その投稿を取得する必要があります。しかし、私は問題を抱えています。これが私のコードですので、どんな助けも大歓迎です。

SELECT * FROM news WHERE draft = '1' AND department_id IN ($id) ORDER BY id DESC
4

3 に答える 3

1

テーブルの名前blogまたはnews?

まあ言ってみれば $id=3;

SELECT * FROM news WHERE draft = 1 AND $id IN (department_id) ORDER BY id DESC

またはまた使用することができます

SELECT * FROM news WHERE draft = 1 AND find_in_set('$id', cast(department_id as char)) > 0 ORDER BY id DESC
于 2013-10-17T05:44:36.330 に答える
0

$idとは?$id が配列の場合、たとえば文字列を作成する必要があります

$id = array(1,4,5);
$ids = implode(',', $id);
mysql_query("SELECT * FROM news WHERE draft = '1' AND department_id IN ($ids) ORDER BY id DESC");
于 2013-10-17T05:48:51.163 に答える
0

これはうまくスケーリングしませんが、試すことができます:

SELECT * 
FROM news 
WHERE draft = '1' AND 
      (department_id = 1
      OR department_id = 4
      OR department_id = 5)
ORDER BY department_id DESC;
于 2013-10-17T05:47:24.270 に答える