Форум: "Начинающим";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];
ВнизSQL Найти похожие ветки
← →
fantasy © (2006-06-11 02:28) [0]Немогу собрать таблицу есть 2 поля F_1 и F_2 в таблице T_TOVAR нужен SQL запрос чтобы появилось 3 поле COUNT и в нем чесло повторений поля F_1 в таблице.
Тоесть если в поле F_1 три раза встречается одна и таже запись то то COUNT напротив всех этих полей будет 3.
помогите написать запрос.
PS Firebird_2_0.
← →
Sergey Masloff (2006-06-11 07:57) [1]Считать подзапросом. Только неэффективно это. Обычно все же делают запрс с группировкой сворачивая повторяющиеся значения.
← →
fantasy © (2006-06-11 14:47) [2]знаю что не эфективно но для меня это единственый выход
ПОМОГИТЕ С ПРИМЕРОМ.
ЗАРАНЕЕ БЛАГОДАРЕН.
← →
atruhin © (2006-06-11 15:13) [3]select F_1, F_2, (select count(*) from T_TOVAR D where D.F_1 = M.F_1) as cnt
from T_TOVAR M
← →
sniknik © (2006-06-11 16:07) [4]> select F_1, F_2, (select count(*) from T_TOVAR D where D.F_1 = M.F_1) as cnt
> from T_TOVAR M
select M.F_1, M.F_2, D.cnt
from T_TOVAR M
LEFT JOIN (select F_1, count(*) as cnt from T_TOVAR group by F_1) D
ON M.F_1 = D.F_1
то же самое только должно быть быстрее, намного. (если конечно синтаксис FB вообще так позволяет... не в курсе)
← →
Sergey Masloff (2006-06-11 17:33) [5]sniknik © (11.06.06 16:07) [4]
FB позволяет начиная с 2.0, IB6x не позволяет
← →
Desdechado © (2006-06-11 17:50) [6]что-то я не понял, а как F_2 должно участвовать в запросе?
какое значение этого F_2 должно быть, если есть несколько записей с одинаковым F_1, но разным F_2?
PS
GROUP BY и HAVING тут бы лучше смотрелось
← →
fantasy © (2006-06-12 18:30) [7]Спосмибо всем
Все работает
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c