За последние 24 часа нас посетили 17658 программистов и 1282 робота. Сейчас ищут 1395 программистов ...

Помогите правильно сформировать запрос (не знаю как назвать

Тема в разделе "MySQL", создана пользователем yantar, 16 мар 2007.

  1. yantar

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

    С нами с:
    6 мар 2007
    Сообщения:
    7
    Симпатии:
    0
    Надо сделать поиск по 2 полям место расположения и description объекта
    Таблицы я менять не могу, мне надо сделать это для существующих таблиц.

    Структура таблиц такая:
    Таблица item

    `itemid` int(11) NOT NULL auto_increment,
    `title` varchar(100) default NULL,


    Таблица data

    `fieldid` int(11) default NULL,
    `data_txt` text
    `itemid` int(11) default NULL,


    2 таблицы связаны по itemid

    Если в таблице data fieldid = 15 - это есть место расположение объекта, если fieldid = 16 - это decription объекта

    Мне надо сделать поиск по этим 2 полям, как это можна сделать
    Если напишу так:
    WHERE `fieldid` = '15' AND `data_txt` = 'Киев' AND `fieldid` = '16' AND `data_txt` = 'description'
    конечно, что работать не будет.
    Если так:
    WHERE (`fieldid` = '15' AND `data_txt` = 'Киев') OR (`fieldid` = '16' AND `data_txt` = 'description')
    то будут возвращаться лишние записи

    Делал через вложенные запросы - не выходит
    Пока что пришел к варианту, что тяну с базы все записи, а потом средствами php фильтрую
    Поки що прийшов до такого варіанту: витягую всі запити, а потім засобами php хотя знаю, что это плохо.
    Плиз помогите.
     
  2. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    что-то не пойму, у Вас на одну запись в item приходится две записи в таблице data?
     
  3. yantar

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

    С нами с:
    6 мар 2007
    Сообщения:
    7
    Симпатии:
    0