За последние 24 часа нас посетили 18864 программиста и 1686 роботов. Сейчас ищут 845 программистов ...

Выборка по нескольки значениям поля

Тема в разделе "MySQL", создана пользователем joost, 18 янв 2010.

  1. joost

    joost Guest

    Есть таблица
    name vals
    надо выбрать name, для которых есть записи для значений name которых есть записи с vals 1 и 2

    Результат
    Thomas Syntho
    VAX 1700
     
  2. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
    [sql]select distinct `name` from `table ` where `vals`=1 or `vals`=2[/sql]
     
  3. joost

    joost Guest

    а если таблица будет

    Thomas Twin Aquafilter тоже будет выбран, но для него же нет записи
    Thomas Twin Aquafilter 2

    [sql] select distinct `name` from `table ` where `vals`=1 or `vals`=2[/sql] - не то
     
  4. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
    что-то мне подсказывает что таблица у тебя неправильно спроектирована, опиши задачу.
     
  5. joost

    joost Guest

    есть таблица свойст товаров
    1 вес 5кг
    2 насадок 5
    3 пылесборник 3л
    есть таблица модели-свойства
    Thomas Syntho 1
    Thomas Twin Aquafilter 1
    Thomas Genius S1 Aquafilter 3
    Zelmer Wodnik Quattro 616.6 3
    Thomas Syntho 2
    VAX 1700 1
    VAX 1700 2

    надо выбрать те, у которых
    1 вес 5кг
    2 насадок 5
     
  6. joost

    joost Guest

    никак не решить проблему?
     
  7. LuckyScrat

    LuckyScrat Активный пользователь

    С нами с:
    16 июн 2009
    Сообщения:
    176
    Симпатии:
    0
    Адрес:
    Москва
    мне кажется то что ты делаешь похоже на паттерн EAV (Entity-Attribute-Value) почитай про него, может помочь
     
  8. joost

    joost Guest

    особо инфы на руском о нем не нашол
    не подскажеш, где доступно описано?
     
  9. joost

    joost Guest

    LuckyScrat
    в чем соль паттерна?
     
  10. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    википедию отменили? Там это есть
     
  11. joost

    joost Guest

    LuckyScrat
    нужно в таблицу вводить еще поле id_свойства?
    name_обєкт id_свойства id_значения
    и тогда искать по парах ?

    [sql]select distinct name from table where (id_свойства=... and id_значения=.... ) or (id_свойства=... and id_значения=.... )[/sql]


    я правильно понял идею паттерна?