|
Прямой запрос, группировка | ☑ | ||
---|---|---|---|---|
0
Mary01
03.02.18
✎
19:57
|
Всем добрый вечер!
подскажите пожалуйста, как в SQL-запросе можно делать группировку по текстовому полю? Есть прямой запрос, который упрощенно можно показать как: |SELECT top 5 |'t' as тест, |Номенклатура.ID as [Номенклатура $Справочник.Номенклатура] |FROM |$Справочник.Номенклатура Номенклатура (nolock) |GROUP BY |тест, |Номенклатура.ID" Выдает ошибку: Недопустимое имя столбца "тест". |
|||
1
vicof
03.02.18
✎
20:53
|
Ну а чуть-чуть напрячь извилины и подумать?
|
|||
2
Mary01
03.02.18
✎
21:02
|
(1) если сделать
... |GROUP BY |'t', |Номенклатура.ID" то ошибка - Каждое выражение GROUP BY должно содержать по меньшей мере одну ссылку на столбец. |
|||
3
vicof
03.02.18
✎
23:10
|
as test
|
|||
4
vicof
03.02.18
✎
23:10
|
group by test
|
|||
5
Mary01
03.02.18
✎
23:14
|
(4) Недопустимое имя столбца "test" )
|
|||
6
youalex
03.02.18
✎
23:18
|
by 't'
|
|||
7
Mary01
03.02.18
✎
23:19
|
(6) так делала, написала в (2)
|
|||
8
youalex
03.02.18
✎
23:25
|
а зачем вообще, |GROUP BY
|'t', если это литерал? Напишите select distinct |
|||
9
youalex
03.02.18
✎
23:26
|
Или исключите его из секции GROUP BY. Зачем вы его туда запихали?
|
|||
10
youalex
03.02.18
✎
23:28
|
Проверил в квери скуля. на "select 5 group by 5" выдало похожее сообщение, что, наверное, логично.
|
|||
11
Mary01
03.02.18
✎
23:47
|
(9) и правда.. зачем. убрала. вот все и решилось))
|
|||
12
vicof
03.02.18
✎
23:58
|
А кавычки обязательно, да?
|
|||
13
Mary01
04.02.18
✎
00:04
|
(12) да, т.к. это не название колонки, а текст, вместо t могло быть любое слово
|
|||
14
vicof
04.02.18
✎
00:21
|
|SELECT top 5
|'t' as test, |Номенклатура.ID as [Номенклатура $Справочник.Номенклатура] |FROM |$Справочник.Номенклатура Номенклатура (nolock) |GROUP BY |test, |Номенклатура.ID" не? |
|||
15
youalex
04.02.18
✎
00:27
|
(14) test - это как бы вообще, псевдоним. Он играет сильно после group
|
|||
16
Fram
04.02.18
✎
00:28
|
(14) не будет такая конструкция работать. в GROUP BY должно содержать по меньшей мере одну ссылку на столбец. что в принципе в (2) уже написано
|
|||
17
Mary01
04.02.18
✎
00:48
|
(14) так делала, в (5) написала ошибку
|
|||
18
vicof
04.02.18
✎
01:12
|
ВЫБРАТЬ
5 КАК Тест, &Номенклатура СГРУППИРОВАТЬ ПО 5, &Номенклатура Ну вот так у меня работает |
|||
19
runoff_runoff
04.02.18
✎
01:19
|
за группировку по константе и группировку по праймери-ключу не предлагали ещё расстреливать на месте? ;-)
|
|||
20
vicof
04.02.18
✎
02:19
|
(19) Это тест был, не переживай)
|
|||
21
youalex
04.02.18
✎
02:35
|
(19) Это не константа, а литерал. И за группировку по ключу *при наличиии отсутствия джойнов и прочего - расстреливать точно не стоит. Максимум - немного пожурить.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |