Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

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


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


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

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

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

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

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

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

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

Код:

select id, name, color, ed_izm, summ, kol_vo, summ * kol_vo  as total, pict 
from ВашаТаблица

а в чём подвох то?!
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 11.01.2017, 19:07   #5
Fahman
Участник клуба
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 691
Репутация: 23
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Код:

select id, name, color, ed_izm, summ, kol_vo, summ * kol_vo  as total, pict 
from ВашаТаблица

а в чём подвох то?!
сори,я ошибку совершил. сейчас перепишу
__________________
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума   Ответить с цитированием
Старый 11.01.2017, 19:22   #6
Fahman
Участник клуба
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 691
Репутация: 23
По умолчанию


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

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


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


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

Код:

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 в 12:04.
evg_m вне форума   Ответить с цитированием
Ответ



Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос в sql 2005 - SQL Server a.n.o.n.i.m SQL, базы данных 8 31.03.2016 18:01
Написать скрипт, который выгрузит данные из файла в формате JSON, создаст SQL таблицу и написать SQL запрос Mangum Фриланс 3 11.03.2016 06: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 07:26
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 19:15




10:01.


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

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


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