powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создание запроса
12 сообщений из 12, страница 1 из 1
Создание запроса
    #39003561
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем.
Есть две таблицы D_ORDER и D_ITEMSORDER.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
CREATE OR ALTER VIEW VD_ORDER(
    ID_CODE,
    VD_NUMBER,
    VD_DATE,
    VD_TIME,
    VD_SUM,
    VD_DESC
   )
AS
SELECT 
       ORD.ID_CODE, 
       ORD.D_NUMBER, 
       ORD.D_DATE, 
       ORD.D_TIME, 
       SUM (D_OUTSUM) as IORD,
       ORD.D_DESC

FROM D_ORDER ORD, D_ITEMSORDER IORD

WHERE 
      IORD.ID_ORDER = ORD.ID_CODE

GROUP BY
       ORD.ID_CODE, 
       ORD.D_NUMBER, 
       ORD.D_DATE, 
       ORD.D_TIME,
       ORD.D_DESC
;


В таблице D_ORDER (заказ) есть 4 записи из которых только для одной в таблице D_ITEMSORDER существуют записи (товар).
При создании запроса осуществляется подсчет суммы всех товаров в заказе. Если в заказе товаров нет, то его нет и в результате этого запроса.
Прошу подсказать как преобразовать запрос, чтобы в остальных заказах не имеющих еще товар стояло значение "0"
...
Рейтинг: 0 / 0
Создание запроса
    #39003582
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hadroran,

LEFT JOIN + COALESCE
...
Рейтинг: 0 / 0
Создание запроса
    #39003585
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Hadroran!
You wrote on 9 июля 2015 г. 15:23:24:

Hadroran> Прошу подсказать как преобразовать запрос
читай про LEFT JOIN
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание запроса
    #39003653
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все равно одна запись остается.
Как LEFT JOIN + COALESCE правильно включить в запрос?
...
Рейтинг: 0 / 0
Создание запроса
    #39003661
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Hadroran!
You wrote on 9 июля 2015 г. 15:58:00:

Hadroran> Все равно одна запись остается.
показывай свой запрос.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание запроса
    #39003680
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я его сделать не могу....что показывать...
...
Рейтинг: 0 / 0
Создание запроса
    #39003693
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Hadroran!
You wrote on 9 июля 2015 г. 16:14:01:

Hadroran> я его сделать не могу....что показывать...
начни изучать SQL.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание запроса
    #39003694
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот теперь можно и выложить и не постыдиться :)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT ORD.ID_CODE, SUM(IORD.vd_outsum) as VD_S

FROM D_ORDER ORD

LEFT JOIN VD_ITEMSORDER IORD ON IORD.id_order = ORD.id_code

GROUP BY ORD.ID_CODE
;
...
Рейтинг: 0 / 0
Создание запроса
    #39003724
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, почему ошибка выходит в запросе?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
CREATE OR ALTER VIEW VD_ORDER(
    ID_CODE,
    ID_CUSTOMER,
    ID_CALLUSER,
    VD_CUSTOMER,
    VD_SUM
    )
AS
SELECT ORD.ID_CODE, ORD.ID_CUSTOMER, ORD.ID_CALLUSER,
       CCT.VD_NAME,
       COALESCE(SUM(IORD.vd_outsum),0) as IORD

FROM D_ORDER ORD, VD_CUSTCONTACT CCT

LEFT JOIN VD_ITEMSORDER IORD ON IORD.ID_ORDER = ORD.ID_CODE

WHERE CCT.ID_CODE   = ORD.ID_CUSTOMER

GROUP BY
    ORD.ID_CODE, ORD.ID_CUSTOMER, ORD.ID_CALLUSER,
    CCT.VD_NAME
;
...
Рейтинг: 0 / 0
Создание запроса
    #39003727
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Hadroran!
You wrote on 9 июля 2015 г. 16:41:33:

Hadroran> Подскажите, почему ошибка выходит в запросе?какая?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание запроса
    #39003751
Hadroran
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий

Спасибо, что помог разобраться.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
CREATE OR ALTER VIEW VD_ORDER(
    ID_CODE,
    ID_CUSTOMER,
    ID_CALLUSER,
    VD_CUSTOMER,
    VD_SHRTNAME,
    VD_CUSTNAME,
    VD_CALLUSER,
    VD_RECSTAT,
    VD_DELSTAT,
    VD_IMPORTANT,
    VD_LABEL,
    VD_NUMBER,
    VD_DATE,
    VD_TIME,
    VD_STATCURR,        /* Валюта заказа */
    VD_SUM,
    VD_DESC
    )
AS
SELECT ORD.ID_CODE, ORD.ID_CUSTOMER, ORD.ID_CALLUSER,
       CCT.VD_NAME, CCT.VD_SHRTNAME, CCT.VD_CONTACTNAME,
       USR.U_NAME,
       ORD.D_RECSTAT, ORD.D_DELSTAT, ORD.D_IMPORTANT, ORD.D_LABEL,
       ORD.D_NUMBER, ORD.D_DATE, ORD.D_TIME, ORD.D_STATCURR,
       COALESCE(SUM(IORD.vd_outsum),0),
       ORD.D_DESC

FROM D_ORDER ORD

LEFT JOIN VD_ITEMSORDER IORD ON IORD.ID_ORDER = ORD.ID_CODE
LEFT JOIN VD_CUSTCONTACT CCT ON CCT.ID_CODE   = ORD.ID_CUSTOMER
LEFT JOIN D_USER USR ON USR.ID_CODE   = ORD.ID_CALLUSER

GROUP BY
    ORD.ID_CODE, ORD.ID_CUSTOMER, ORD.ID_CALLUSER,
    CCT.VD_NAME, CCT.VD_SHRTNAME, CCT.VD_CONTACTNAME,
    USR.U_NAME,
    ORD.D_RECSTAT, ORD.D_DELSTAT, ORD.D_IMPORTANT, ORD.D_LABEL,
    ORD.D_NUMBER, ORD.D_DATE, ORD.D_TIME, ORD.D_STATCURR,
    ORD.D_DESC
;
...
Рейтинг: 0 / 0
Создание запроса
    #39003757
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Hadroran!
You wrote on 9 июля 2015 г. 16:54:58:

Hadroran> Спасибо, что помог разобраться.
ты заходи, если что
(с)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Создание запроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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