Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > Web > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 30.05.2018, 21:36   #1
aleksisk2
 
Регистрация: 31.05.2017
Сообщений: 4
Репутация: 10
По умолчанию Исправление запроса в oracle sql

Зарегистрировать нового клиента, который оформил заказ 10.05.2018 года.
Необходимо выполнить химчистку салона и полировку фар. Определить
предварительную стоимость этого заказа. Какие таблицы будут задействованы в
этой транзакции? - я это всё сделал

но у меня этот заказ выводится так, что он состоит из двух услуг и для каждой отдельно пишется предварительная стоимость


Код:

INSERT INTO KLIENT VALUES ((SELECT MAX(ID_K)+1 FROM KLIENT), 'Бережной Дмитрий Анатольевич', 89316893325); 
SELECT*FROM KLIENT; 
INSERT INTO ZAKAZ VALUES ((SELECT MAX(ID_Z)+1 FROM ZAKAZ), 3, '10.05.18', '23.05.18' , 
(SELECT MAX(ID_K) FROM KLIENT), 3, (SELECT (price/100)*30 FROM USLUGI WHERE ID_U=3 )); 
INSERT INTO ZAKAZ_USLUGI VALUES ((SELECT MAX(ID_Z) FROM ZAKAZ), 3); 

INSERT INTO ZAKAZ VALUES ((SELECT MAX(ID_Z) FROM ZAKAZ), 6, '10.05.18', '15.05.18', 
(SELECT MAX(ID_K) FROM KLIENT), 3, (SELECT (price/100)*30 FROM USLUGI WHERE ID_U=6 )); 
INSERT INTO ZAKAZ_USLUGI VALUES ((SELECT MAX(ID_Z) FROM ZAKAZ), 6); 
SELECT*FROM ZAKAZ; 
SELECT*FROM ZAKAZ_USLUGI; 

--предварительная стоимость по каждой услуге отдельно 
SELECT DISTINCT KLIENT.FIO, USLUGI.names, ZAKAZ.DATE_1, ZAKAZ.predvar_stoim 
FROM KLIENT, USLUGI, ZAKAZ 
WHERE KLIENT.ID_K= (SELECT MAX(ID_K) FROM KLIENT) 
AND ZAKAZ.ID_Z= (SELECT MAX(ID_Z) FROM ZAKAZ WHERE USLUGI.ID_U=3 ) 
AND ZAKAZ.predvar_stoim IN (SELECT predvar_stoim FROM ZAKAZ WHERE ID_U=3) 
UNION 
SELECT DISTINCT KLIENT.FIO, USLUGI.names, ZAKAZ.DATE_1, ZAKAZ.predvar_stoim 
FROM KLIENT, USLUGI, ZAKAZ 
WHERE KLIENT.ID_K= (SELECT MAX(ID_K) FROM KLIENT) 
AND ZAKAZ.ID_Z= (SELECT MAX(ID_Z) FROM ZAKAZ WHERE USLUGI.ID_U=6 ) 
AND ZAKAZ.predvar_stoim IN ((SELECT predvar_stoim FROM ZAKAZ WHERE ID_U=6)+(SELECT predvar_stoim FROM ZAKAZ WHERE ID_U=3));



мне нужно, чтобы предварительная стоимость выводилась из двух этих предварительных стоимостей(сложить две суммы как на скрине и вывести в одну)
Изображения
Тип файла: jpg 242.jpg (92.7 Кб, 0 просмотров)

Последний раз редактировалось aleksisk2; 30.05.2018 в 22:42.
aleksisk2 вне форума   Ответить с цитированием
Старый 30.05.2018, 22:12   #2
Stanislav
Квадрокоптерист
ПрофессионалФорумчанин
 
Регистрация: 29.09.2007
Сообщений: 1,802
Репутация: 532
По умолчанию

Почему код в теги не берете? неудобно читать. Зачем используете UNION непонятно. и еще бы структуру таблиц бы глянуть, не очень охота ее выуживать из запроса. Чем больше инфы покажите тем больше шансов что вам помогут.
__________________
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума   Ответить с цитированием
Старый 30.05.2018, 22:20   #3
aleksisk2
 
Регистрация: 31.05.2017
Сообщений: 4
Репутация: 10
По умолчанию

Что можно использовать кроме union?
Вложения
Тип файла: rar liza.rar (2.6 Кб, 0 просмотров)
aleksisk2 вне форума   Ответить с цитированием
Старый 30.05.2018, 22:29   #4
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 18,107
Репутация: 6385
По умолчанию

арм многопользовательский? Если да, то выбрось подход с max(id) на помойку
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 30.05.2018, 22:45   #5
aleksisk2
 
Регистрация: 31.05.2017
Сообщений: 4
Репутация: 10
По умолчанию

Цитата:
Сообщение от Stanislav Посмотреть сообщение
Почему код в теги не берете? неудобно читать. Зачем используете UNION непонятно. и еще бы структуру таблиц бы глянуть, не очень охота ее выуживать из запроса. Чем больше инфы покажите тем больше шансов что вам помогут.
Что использовать в замену union
Вложения
Тип файла: rar liza.rar (2.6 Кб, 0 просмотров)
aleksisk2 вне форума   Ответить с цитированием
Старый 30.05.2018, 23:12   #6
Stanislav
Квадрокоптерист
ПрофессионалФорумчанин
 
Регистрация: 29.09.2007
Сообщений: 1,802
Репутация: 532
По умолчанию

Цитата:
Сообщение от aleksisk2 Посмотреть сообщение
Что использовать в замену union
Можно не писать вопрос дважды это не чат. Если не ответили сразу, значит. Или я забил или не прочитал ещё. В таблице заказ должен быть id клиента который сделал заказ а значит можно вытащить все заказы конкретного клиента за конкретную дату с конкретными заказами которые он сделал. А сделать это можно через left join например.
__________________
Я часть той силы, что вечно хочет зла, но вечно совершает благо..

Последний раз редактировалось Stanislav; 30.05.2018 в 23:15.
Stanislav вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить sql create код запроса существующего задания ms sql server? R_G SQL, базы данных 0 30.06.2016 13:35
Как уменьшить время выполнения t-sql запроса (оптимизировать) к Oracle? R_G SQL, базы данных 2 08.05.2016 20:52
Oracle. PL/SQL Dev. Выполнить много SQL'файлов по-порядку в 1 клик Человек_Борща SQL, базы данных 2 11.12.2014 13:12
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) Schutze Помощь студентам 6 29.11.2009 23:15


14:10.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru