Группировка условий в WHERE

Тема в разделе "Базы данных", создана пользователем kud, 8 фев 2011.

Модераторы: latteo
  1. kud

    kud Постоялец

    Регистр.:
    18 фев 2009
    Сообщения:
    89
    Симпатии:
    11
    Добрый день!
    Если нужно ,например,
    выбрать все строки у которых столбец_1 = 1, а столбец_2 может быть один из (1,3,6,7) то на практике это так:
    WHERE столбец_1 = 1 AND столбец_2 IN (1,3,6,7)

    А как поставить условие, если нужно:
    столбец_1 = 1 у которого столбец_2 IN (1,3,6,7)
    а также где столбец_1 = 2 у которого столбец_2 IN (11,31,61,71),
    а также где столбец_1 = 3 у которого столбец_2 IN (11,331,613,713)
    ?
     
  2. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    UNION и не парься
     
    kud нравится это.
  3. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    через логические операторы и скобки
    Код:
    WHERE 
    (столбец_1 = 1 AND столбец_2 IN (1,3,6,7))
    OR
    (столбец_1 = 2 AND столбец_2 IN (11,31,61,71))
    OR
    (столбец_1 = 3 AND столбец_2 IN (11,331,613,713))