Общие > Базы данных
Запрос (вложенный SELECT?)
(1/1)
hanslinger:
Есть таблица:
id || pid || value
1 || 1 || A
2 || 2 || B
12 || 2 || C
13 || 2 || D
14 || 1 || X
...
35 || 12 || Y
36 || 13 || Z
Смысл: `id`=`pid` - один тип объекта (тип А). Те объекты, у которых `pid` ссылается на тип А, - другой тип (В). Есть еще третий тип - те объекты, `pid` которых ссылается на тип В (назовем тип С).
Задача: Выбрать все объекты класса В. То есть, у которых `pid` ссылается на тип А.
В голову ничего не приходит.
hanslinger:
Сорри, все сам решил. Вложенные запросы :)
Для типа С:
SELECT * FROM `obj_districts` WHERE `pid` IN (SELECT `id` FROM `obj_districts` WHERE `id``pid` AND `pid` IN (SELECT `id` FROM `obj_districts` WHERE `id`=`pid`))
Навигация
Перейти к полной версии