![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подсчет количества записей по значениям [D7, MSSQL]
Vantage-10 © (2005-01-14 12:07:00)Кто подскажет как сделать подобный SQL запрос?
Есть результат в виде:
значение1
значение1
значение1
значение2
значение2
значение3
значение3
значение3
Как получить следующий вид:
значение1|3 записи
значение2|2 записи
значение3|3 записи
Нуждающийся в помощи (2005-01-16 16:45:00) [1]Да, к слову, разобрался почему не работал мой исходный вариант:
все дело в последовательности, в которой выполняется объединение и проверка условий/вычисление агрегатных функций
Нуждающийся в помощи (2005-01-16 16:43:00) [2]Нет, не лень...
Но вопросы мне показались схожими, а веток разнообразных тут и так хватает:)
Anatoly Podgoretsky (2005-01-14 18:49:00) [3]Нуждающийся в помощи (14.01.05 16:26) [4]
Новую ветку создавать не буду
Это что лень?
Нуждающийся в помощи (2005-01-14 17:51:00) [4]Плохиш © (14.01.05 17:30) [7]
Респект
Все работает:)
Плохиш (2005-01-14 17:30:00) [5]select name, (select count(*) from t1 where t1.id=myid) as w1, (select ...) ...
Нуждающийся в помощи (2005-01-14 17:30:00) [6]Вот так я пытаюсь это сделать:
select STUD.FAM, count(LEKC.STUDE_CODE), count(LAB.STUDE_CODE) from STUD, LEKC, LAB
where (STUD LEFT JOIN LEKC ON STUD.CODE = LEKC.STUD_CODE) LEFT JOIN LAB ON STUD.CODE = LAB.CODE
group by STUD.FAM
В итоге я получаю таблицу с тремя полями, но значения в агрегатных полях совпадают, т.е. я получаю что-то подобное:
aaa | 10 | 10
bbb | 01 | 01
ccc | 12 | 12
Хотя должен что-т такое:
aaa | 11 | 03
bbb | 14 | 07
ccc | 09 | 01
Нуждающийся в помощи (2005-01-14 17:22:00) [7]Если имеется в виду UNION - этим я сделаю "вертикальное соединение"...
мне же нужно "горизонтальное"
а исползуя inner/left/right join я получаю все время неверные результаты:(
вот и решил спросить у знающих людей
Johnmen (2005-01-14 17:18:00) [8]Делать соединение таблиц. См. SQL.
Нуждающийся в помощи (2005-01-14 16:26:00) [9]Новую ветку создавать не буду, спрошу здесь - вопросы родственные:
а если усложнить ситуацию до трех таблиц -
1. список студентов
2. список лекций, где отмечается какие лекции какие студенты посещали
3. список лабораторных, где отмечается какие лабораторные какие студенты посещали
нужно получить сводную таблицу:
1. фамилия студента
2. количестов посещенных лекций
3. количество посещенных лабораторных
как это реализовать в одном запросе?
DSKalugin (2005-01-14 12:13:00) [10]select field, count(field)
from table
group by field
Роман Снегирев (2005-01-14 12:11:00) [11]select значение, count(значение) from table group by значение
Johnmen (2005-01-14 12:10:00) [12]LocalSQL.hlp : GROUP BY