Вход | Регистрация



Прямой запрос, группировка

Прямой запрос, группировка
Я
   Mary01
 
03.02.18 - 19:57
Всем добрый вечер!
подскажите пожалуйста, как в SQL-запросе можно делать группировку по текстовому полю?
Есть прямой запрос, который упрощенно можно показать как:

|SELECT top 5
|'t' as тест,
|Номенклатура.ID as [Номенклатура $Справочник.Номенклатура]
|FROM                                       
|$Справочник.Номенклатура Номенклатура (nolock) 
|GROUP BY  
|тест,
|Номенклатура.ID"

Выдает ошибку: Недопустимое имя столбца "тест".
 
 
   vicof
 
1 - 03.02.18 - 20:53
Ну а чуть-чуть напрячь извилины и подумать?
   Mary01
 
2 - 03.02.18 - 21:02
(1) если сделать
...
|GROUP BY  
|'t',
|Номенклатура.ID"

то ошибка - Каждое выражение GROUP BY должно содержать по меньшей мере одну ссылку на столбец.
   vicof
 
3 - 03.02.18 - 23:10
as test
   vicof
 
4 - 03.02.18 - 23:10
group by test
   Mary01
 
5 - 03.02.18 - 23:14
(4) Недопустимое имя столбца "test" )
   youalex
 
6 - 03.02.18 - 23:18
by 't'
   Mary01
 
7 - 03.02.18 - 23:19
(6) так делала, написала в (2)
   youalex
 
8 - 03.02.18 - 23:25
а зачем вообще, |GROUP BY  
|'t',

если это литерал?  Напишите select distinct
   youalex
 
9 - 03.02.18 - 23:26
Или исключите его из секции GROUP BY. Зачем вы его туда запихали?
   youalex
 
10 - 03.02.18 - 23:28
Проверил в квери скуля. на "select 5 group by 5" выдало похожее сообщение, что, наверное, логично.
 
 Рекламное место пустует
   Mary01
 
11 - 03.02.18 - 23:47
(9) и правда.. зачем. убрала. вот все и решилось))
   vicof
 
12 - 03.02.18 - 23:58
А кавычки обязательно, да?
   Mary01
 
13 - 04.02.18 - 00:04
(12) да, т.к. это не название колонки, а текст, вместо t могло быть любое слово
   vicof
 
14 - 04.02.18 - 00:21
|SELECT top 5
|'t' as test,
|Номенклатура.ID as [Номенклатура $Справочник.Номенклатура]
|FROM                                       
|$Справочник.Номенклатура Номенклатура (nolock) 
|GROUP BY  
|test,
|Номенклатура.ID"

не?
   youalex
 
15 - 04.02.18 - 00:27
(14) test - это как бы вообще, псевдоним. Он играет сильно после group
   Fram
 
16 - 04.02.18 - 00:28
(14) не будет такая конструкция работать. в GROUP BY должно содержать по меньшей мере одну ссылку на столбец. что в принципе в (2) уже написано
   Mary01
 
17 - 04.02.18 - 00:48
(14) так делала, в (5) написала ошибку
   vicof
 
18 - 04.02.18 - 01:12
ВЫБРАТЬ 
5 КАК Тест,
&Номенклатура
СГРУППИРОВАТЬ ПО
5,
&Номенклатура

Ну вот так у меня работает
   runoff_runoff
 
19 - 04.02.18 - 01:19
за группировку по константе и группировку по праймери-ключу не предлагали ещё расстреливать на месте? ;-)
   vicof
 
20 - 04.02.18 - 02:19
(19) Это тест был, не переживай)
   youalex
 
21 - 04.02.18 - 02:35
(19) Это не константа, а литерал. И за группировку по ключу *при наличиии отсутствия джойнов и прочего  - расстреливать точно не стоит. Максимум - немного пожурить.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует