[ОТВЕТИТЬ]
Опции темы
02.10.2015 19:25  
genyas
Привет , кто хорошо SQL знает ?
Есть у меня проблема , есть запрос в SM2000 .
Скажем вида

select "Вот тут я хочу вызвать суммовое поле" from
(select article , sum(quantity) as "count" from smdocumets) q

получается что я должен обратиться к алиасу "q." но как мне поле то вытащить ? Если я пишу q.count - он меня шлет , кричит что нет такого поля . Как обратиться к этому полю ?
Спасибо.
 
02.10.2015 19:49  
konst
Может быть "count" - это оператор и его нельзя использовать?
и еще у smdocumets- n пропущена
да и еще в этой таблице нет поля "quantity"
и для операции суммирования - надо сделать группировку, например по артикулу
вот пример (образец по 1 конкретному документу)
Код:
select q.ss from (select article, sum(quantity) ss 
from supermag.smspec where docid = 'ПНП06000332' 
group by article) q
обычно какие то итоги подводятся с учетом периода, подразделений и контрагентов
в СМ эти данные хранятся в 2 таблицах:
smdocuments - заголовок документа со всеми реквизитами
smspec - спецификация документа
как правило эти две таблицы связываются по типу и номеру документа, в условие добавляются интервалы и т.п.
и группируются по подразделениям или контрагентам...
Код:
SELECT * FROM supermag.smdocuments a,  supermag.smspec b WHERE a.doctype = b.doctype AND  b.docid = a.ID AND ....
 
06.10.2015 09:36  
genyas
Не совсем так .
Вообщем разобрался . делаем так .....
select q.prod from (select article as prod from smspec) q

Пример не претендует на правильность , просто показывает работу с алиасом .Подчеркну что нам не надо брать в КОВЫЧКИ наш алиас . Если будут ковычки , мы с ним работать не сможем .
 
06.10.2015 11:45  
akonev
этой теме место в оракловой ветке, не в супермажной.
прошу аналогичные создавать там.

в исходном запросе было много ошибок. у konst просто не было шансов угадать, на какой из них ты споткнулся.
 
06.10.2015 11:57  
Mtirt
Да и во втором запросе совсем непонятно зачем нужны два селекта в данной ситуации.
 
06.10.2015 12:41  
akonev
Цитата:
Сообщение от Mtirt
Да и во втором запросе совсем непонятно зачем нужны два селекта в данной ситуации.
та неее. понятно всё.
начинающий - применительно к SQL - программист разбирается в синтаксисе вложенных запросов.
упростил до варианта, где не остается места другим ошибкам.
 
 
Опции темы



Часовой пояс GMT +3, время: 17:19.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.