Помогите с запросом (выбор из поля по нескольким условиям)

Тема в разделе "Базы данных", создана пользователем askarbin, 24 дек 2009.

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

    askarbin

    Регистр.:
    31 мар 2009
    Сообщения:
    293
    Симпатии:
    36
    Подскажите, пожалуйста, как лучше составить запрос к БД, со следующими условиями.
    Есть в БД две таблицы:
    objects и typeobject, в первой есть поле type, а во второй поля id и parent.
    Суть задачи: мне нужно вытащить из objects все объекты, которые будут относится к первому id.typeobject и соответственно ко всем id.typeobject, у которых поле parent = 1.
    Спасибо за любую помощь
     
  2. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    Код:
    SELECT * FROM objects WHERE
    	type=(SELECT id FROM typeobject LIMIT 1) OR			-- относится к первому id
    	type IN (SELECT id FROM typeobject WHERE parent=1)	-- ко всем id.typeobject, у которых поле parent = 1.
    
    так что ли?
     
    askarbin нравится это.
  3. AGONOM

    AGONOM Создатель

    Регистр.:
    17 апр 2009
    Сообщения:
    10
    Симпатии:
    3
    SELECT *
    FROM objects AS o
    LEFT JOIN typeobject AS to ON o.type = to.id
    WHERE to.parent = 1 OR to.id = 1
     
Статус темы:
Закрыта.