Не могу составить Select запрос с точным перечислением категорий

Тема в разделе "Базы данных", создана пользователем Tarasishe, 18 июл 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Tarasishe

    Tarasishe

    Регистр.:
    26 апр 2008
    Сообщения:
    190
    Симпатии:
    142
    Собственное есть DLE в нем таблица Dle_post ... мне необходимо выбрать заголовки - title статей, которые опубликованы в определенных категориях
    Как составить запрос ??
    Код:
    SELECT title FROM " . USERPREFIX . "_post WHERE category [B]???[/B] AND approve ='1'
    Как перечислить категории, мне необходимо четко указать категория 1,2,6
    Возможно как то задействовать таблицу category ?? там есть эти же ID 1,2,6 ...
    Смог родить только < '6', но это затрагивает все категории с 1 по 6ю... а это не подходит :(
     
  2. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    737
    Симпатии:
    263
    Код:
     WHERE category IN (1,2,6) 
    или, если у тебя пятый мускул и поддерживаются вложенные запросы,
    Код:
     WHERE category IN (SELECT id FROM dle_categories ...)
     
    Tarasishe нравится это.
  3. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
    Код:
    SELECT title FROM " . USERPREFIX . "_post WHERE category ='1'  AND category ='2'  AND category ='6'  AND approve ='1'
    А так?
     
    Tarasishe нравится это.
  4. Agler

    Agler Постоялец

    Регистр.:
    17 авг 2008
    Сообщения:
    91
    Симпатии:
    13
    Вариант постом выше компактнее получается, особенно в большом количестве категорий
     
  5. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    363
    Симпатии:
    117
    у вас небольшая ошибка

    PHP:
    SELECT title FROM " . USERPREFIX . "_post 
    WHERE   approve 
    ='1'  
          
    AND  (category ='1'  OR  category ='2'  OR  category ='6' )

    -----------
    да и числа брать в кавычки не стоит
    -----------
    Agler, зачем писать очевидные вещи? :confused:
     
    Tarasishe нравится это.
  6. Tarasishe

    Tarasishe

    Регистр.:
    26 апр 2008
    Сообщения:
    190
    Симпатии:
    142
    Последний вариант с ходу подошел, моя ошибка оказывается была в том, что я в скобки не брал OR ...
     
  7. Shmaltorhbooks

    Shmaltorhbooks Создатель

    Регистр.:
    24 июн 2007
    Сообщения:
    20
    Симпатии:
    2
    всё равно вариант с
    PHP:
    WHERE   approve ='1'  
          
    AND  (category in ('1''2''6'))
    в данном случае является более логичным. да и смотрится лучше
     
    Agler нравится это.
Статус темы:
Закрыта.