Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2017, 17:26   #1
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию Запрос SQL

Доброго времени, подскажите как реализовать такое.
есть такая таблица "shablon"

и в ней может быть разное количество записей.
Есть вторая таблица


Надо как нибудь сделать так


как такое возможно? я из таблицы с шаблонами циклом добавить товары во вторую таблицу? ну и умножать сумму на количество и выводить во вторую таблицу уже с общей суммой.

2 таблицы отображаются через bdgrid
99% ошибок компьютера сидит в полуметре от монитора.

Последний раз редактировалось Fahman; 11.01.2017 в 17:28.
Fahman вне форума Ответить с цитированием
Старый 11.01.2017, 17:28   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Fahman Посмотреть сообщение
как такое возможно?
простите, а что именно?
заменить наименование товара на его ID_TOVARA ?
а по какому правилу?
или что нужно то?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.01.2017, 17:30   #3
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
простите, а что именно?
заменить наименование товара на его ID_TOVARA ?
а по какому правилу?
или что нужно то?
Обновил картинку.

в первой таблице хранится товар, его id, сумма за одну шт, и кол-во
надо во вторую таблицу добавить товар с умноженной суммой на кол-во.
99% ошибок компьютера сидит в полуметре от монитора.

Последний раз редактировалось Fahman; 11.01.2017 в 17:35.
Fahman вне форума Ответить с цитированием
Старый 11.01.2017, 17:40   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Код:
select id, name, color, ed_izm, summ, kol_vo, summ * kol_vo  as total, pict 
from ВашаТаблица
а в чём подвох то?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.01.2017, 18:07   #5
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Код:
select id, name, color, ed_izm, summ, kol_vo, summ * kol_vo  as total, pict 
from ВашаТаблица
а в чём подвох то?!
сори,я ошибку совершил. сейчас перепишу
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 11.01.2017, 18:22   #6
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию


Есть 3 таблицы
таблица 1 (товары)
таблица 2 (шаблоны)
таблица 3 (для коммерческого предложения)
в шаблонах храню айдишник товара и его кол-во
Теперь надо со второй таблицы взять айди товара умножить на кол-во и добавить его в третью таблицу. просто я с первого раза что-то намудрил а так будет проще.
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 11.01.2017, 20:43   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

картинка не отображается. прикрепите рисунок с сообщению ("Расширенный режим" - "Управление вложениями" - "Загрузить файл").


Цитата:
Сообщение от Fahman Посмотреть сообщение
Теперь надо со второй таблицы взять айди товара умножить на кол-во и добавить его в третью таблицу.
соединяйте таблицы через JOIN (INNER JOIN) и получайте что надо.


Цитата:
Сообщение от Fahman Посмотреть сообщение
просто я с первого раза что-то намудрил а так будет проще.
да оно и с третьего раза как-то проще не стало...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.01.2017, 10:59   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Код:
select t.*, t2.*, t2.kolvo * t.summ as totalsumm
from t
left join t2 on t.id =t2.ad_tovara
если по одному товару есть НЕСКОЛЬКО записей о количестве(разные партии товара)
Код:
select t.*, ts.*, ts.sumkolvo * t.summ as totalsumm
from t
left join ( select ad_tovara, sum(kolvo) as sumkolvo 
            from t2
            group by ad_tovara 
           ) as ts on ts.ad_tovara  =t.id
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 12.01.2017 в 11:04.
evg_m вне форума Ответить с цитированием
Старый 07.12.2017, 19:02   #9
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
Радость

Цитата:
Сообщение от evg_m Посмотреть сообщение
Код:
select t.*, t2.*, t2.kolvo * t.summ as totalsumm
from t
left join t2 on t.id =t2.ad_tovara
если по одному товару есть НЕСКОЛЬКО записей о количестве(разные партии товара)
Код:
select t.*, ts.*, ts.sumkolvo * t.summ as totalsumm
from t
left join ( select ad_tovara, sum(kolvo) as sumkolvo 
            from t2
            group by ad_tovara 
           ) as ts on ts.ad_tovara  =t.id



Цитата:
Сообщение от evg_m Посмотреть сообщение
Код:
select t.*, t2.*, t2.kolvo * t.summ as totalsumm
from t
left join t2 on t.id =t2.ad_tovara
если по одному товару есть НЕСКОЛЬКО записей о количестве(разные партии товара)
Код:
select t.*, ts.*, ts.sumkolvo * t.summ as totalsumm
from t
left join ( select ad_tovara, sum(kolvo) as sumkolvo 
            from t2
            group by ad_tovara 
           ) as ts on ts.ad_tovara  =t.id

Вроде все как надо! Но, не пойму почему цену с первой таблицы не отображает в третей таблице ?
Изображения
Тип файла: png 2017-12-07_21-58-09.png (36.0 Кб, 154 просмотров)
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос в sql 2005 - SQL Server a.n.o.n.i.m SQL, базы данных 8 31.03.2016 17:01
Написать скрипт, который выгрузит данные из файла в формате JSON, создаст SQL таблицу и написать SQL запрос Mangum Фриланс 3 11.03.2016 05:21
Запрос с CASE переделать в запрос с PIVOT (MS SQL Server 2005) Машуля SQL, базы данных 4 06.05.2010 21:09
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi S_Yevgeniy Помощь студентам 1 27.10.2009 06:26
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15