Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / укажите на ошибку в запросе плизз / 9 сообщений из 9, страница 1 из 1
24.06.2009, 17:56:00
    #36058259
_Bender_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
укажите на ошибку в запросе плизз
SELECT MIN(S.NAME) AS SNAME,
WareCode, WareMark, P.Info As PInfo,
sum(T.SummWD) as SummWD,
sum(T.Summ) as Summ,
sum(Quantity) as Quantity
FROM DOCUMENT D LEFT JOIN TRANZT T ON
D.ID = T.DOCUMENTID
LEFT JOIN SPRT S ON
S.CODE = T.WareCode
Left Join (Select T.DOCUMENTID, T.WAREMARK, T.INFO From TranzT T Where TranzType In (40,41)) P ON
T.DOCUMENTID = DOCUMENTID AND T.WAREMARK = WAREMARK
WHERE

D.STATE = 1 AND (D.ISFISCAL = 1) AND
T.TranzType IN (1,2,11,12,40,41)
GROUP BY
WareCode, WareMark, P.Info
ORDER BY
WareCode
...
Рейтинг: 0 / 0
24.06.2009, 18:08:53
    #36058292
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
укажите на ошибку в запросе плизз
T.DOCUMENTID = DOCUMENTID AND T.WAREMARK = WAREMARKВы сами-то этот фрагмент как понимаете?
...
Рейтинг: 0 / 0
24.06.2009, 18:25:02
    #36058315
_Bender_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
укажите на ошибку в запросе плизз
miksoft,

как соединение таблицы с синонимом "T" c таблицей кторую получаю в скобках по полям НомерДокумента и Кодтовара
...
Рейтинг: 0 / 0
24.06.2009, 18:28:57
    #36058325
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
укажите на ошибку в запросе плизз
_Bender_c таблицей кторую получаю ...и как это видно в процитированном фрагменте?
...
Рейтинг: 0 / 0
24.06.2009, 18:33:36
    #36058337
_Bender_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
укажите на ошибку в запросе плизз
там наверно нужен синоним таблицы ??, просто запрос некорректен ни с синонимом, ни без.((
...
Рейтинг: 0 / 0
24.06.2009, 18:36:03
    #36058343
_Bender_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
укажите на ошибку в запросе плизз
текст запроса с синонимом таблицы

SELECT MIN(S.NAME) AS SNAME,
WareCode, WareMark, P.Info As PInfo,
sum(T.SummWD) as SummWD,
sum(T.Summ) as Summ,
sum(Quantity) as Quantity
FROM DOCUMENT D LEFT JOIN TRANZT T ON
D.ID = T.DOCUMENTID
LEFT JOIN SPRT S ON
S.CODE = T.WareCode
Left Join (Select Tr.DOCUMENTID, Tr.WAREMARK, Tr.INFO From TranzT Tr Where Tr.TranzType In (40,41)) P ON
T.DOCUMENTID = P.DOCUMENTID AND T.WAREMARK = P.WAREMARK
WHERE

D.STATE = 1 AND (D.ISFISCAL = 1) AND
T.TranzType IN (1,2,11,12,40,41)
GROUP BY
WareCode, WareMark, P.Info
ORDER BY
WareCode

п.с. подобные вещи делаю первый раз, поэтому могут быть самые глупые ошибки.))((
...
Рейтинг: 0 / 0
24.06.2009, 18:47:16
    #36058375
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
укажите на ошибку в запросе плизз
некорректен - как именно?
дает не тот результат? тогда входные данные и желаемый результат в студию.
выдает ошибку? показывайте текст ошибки.
...
Рейтинг: 0 / 0
24.06.2009, 18:51:03
    #36058386
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
укажите на ошибку в запросе плизз
Хрустальный шар подсказывает, что, возможно, условие T.TranzType IN (1,2,11,12,40,41) нужно перенести в секцию ON соответствующего JOIN-а.
...
Рейтинг: 0 / 0
25.06.2009, 11:11:46
    #36059146
_Bender_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
укажите на ошибку в запросе плизз
miksoft,

miksoft,

выскакивала ошибка об одинаковости полей WAREMARK таблиц (Select DOCUMENTID, WAREMARK AS PWaremark, INFO From TranzT Where TranzType In (40,41) и TranzT.

текст запроса который работает (если интересно):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SELECT  MIN(S.NAME) AS SNAME,
        WareCode, WareMark, P.Info As PInfo,
        sum(T.SummWD) as SummWD,
        sum(T.Summ) as Summ,
        sum(Quantity) as Quantity
FROM DOCUMENT D LEFT JOIN TRANZT T ON
                 D.ID = T.DOCUMENTID
                LEFT JOIN SPRT S ON
                 S.CODE = T.WareCode
                 Left Join (Select DOCUMENTID, WAREMARK AS PWaremark, INFO From TranzT   Where TranzType In ( 40 , 41 )) P ON
                 T.DOCUMENTID = P.DOCUMENTID AND T.WAREMARK = P.PWaremark
WHERE

      D.STATE =  1  AND (D.ISFISCAL =  1 ) AND
      T.TranzType IN ( 1 , 2 , 11 , 12 )
GROUP BY
      WareCode, WareMark, P.Info
ORDER BY
      WareCode


Модератор:
тов. Бендер попробуйте понажимать кнопку src над окном редактирования.
А то людям читать неудобно
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / укажите на ошибку в запросе плизз / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]