как связать подзапрос?

Инкуб
Дата: 14.11.2009 18:36:27
Имеется все в одной таблице:
отдел........назван........габарит......цена
1................стол................5.........200
1................стул................7.........300
1................шкаф.............25.........500
2..............комонд.............12.........250
2...............пуфик.............14.........200
3.................софа.............17.........800
3................диван.............24.........900


надо вывести инфо о товаре с min ценой в каждом отделе:

отдел.........назван.........габарит.......цена
1................стол...............5.............200
2..............пуфик..............14............200
3...............диван..............24............900

Нахожу min в подзапросе а связать не получается.Подскажите как?
так можна
Дата: 14.11.2009 18:41:42
SELECT *
FROM [все в одной таблице] t1
WHERE t1.цена = (SELECT MIN(t2.цена) FROM [все в одной таблице] t2 WHERE t1.отдел=t2.отдел)
Инкуб
Дата: 14.11.2009 18:46:01
А без псевдонимов связать можно?
так,
Дата: 14.11.2009 19:10:32
Инкуб
А без псевдонимов связать можно?


...а чё так?
религия не позволяет?

это подзапрос таблицы к самой себе
как минимум один псевдоним прийдется оставить...
Инкуб
Дата: 14.11.2009 19:15:52
просто так требуют
ILL HEAD
Дата: 14.11.2009 19:19:28
Инкуб
просто так требуют
что еще требуют ? знать предмет не требуют ?
вместо подзапроса можно агрегатную функцию , тогда псевдонима не нада
сообразиш ?
Инкуб
Дата: 14.11.2009 19:34:32
Может я что в бд не то на портачил но так как написали то же не работает.
так,
Дата: 14.11.2009 19:46:46
SELECT *
FROM товар AS t1
WHERE товар.[продажная цена]=(SELECT min(t2.товар.[продажная цена])
FROM товар t2
where t2.товар.[номер отдела]=t1.товар.[номер отдела]);

выделенное - ашипки
Инкуб
Дата: 14.11.2009 20:05:01
Большое человеческое спасибо [тема закрыта]