|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Здравствуйте. помогите плиз не могу никак решить как составить запрос. есть 2 таблицы 1 таблица id1,name1,massa1 (range) 2 таблица id2,kodid2,name2,massa2 (box) таблицы сопоставимы по полям id1-kodid2. Нужно в первую таблицу в massa1 занести сумму столбца massa2, сгруппированному по kodid2 Как сгруппировать разобрался: select KODID2,sum(MASSA2) from BOX group by KODID2 , а вот заполнить первую не получается. Есть еще одно условие INSERT не подходит , т.к ID1 и NAME1 не меняется , а у них надо менять тока massa1. пробовал update range , (select sum(massa2) as massa from box group by kodid2) tt set range.massa1=tt.massa where range.id=tt.kodid2; выдает ошибку Invalid token.Dynamic SQL Error.SQL error code = -104.Token unknown - line 1, column 14. Ругается на запятую после "," после range. Возможно FIREBIRD так не может. update range set massa1=(select sum(massa2) from box as BB group by kodid2) where (range.id1=BB.kodid2) Кричит что нет поля BB.kodid2 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 03:48 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 04:13 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Руководство по sql в fb читать не пробовали: Код: sql 1. 2. 3.
А пример с фокса крайне неудачный ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 04:53 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
И расскажите зачем group by в расчете суммы ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 04:56 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Romansochi, оператор MERGE тебе поможет ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 07:05 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Симонов ДенисRomansochi, оператор MERGE тебе поможет Смотря, какой у него Огнептиц - MERGE поддерживается только с 2.5, если мне память не изменяет ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:06 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
GallemarРуководство по sql в fb читать не пробовали: Код: sql 1. 2. 3.
А пример с фокса крайне неудачный Я вроде ж написал что insert не подходит... мне не надо вставлять новые записи мне надо исправить существуещее , в sql подобного примера не нашел поэто му и спросил. Точнее если не использовать group by , то проблем нет а вот с group by..... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:27 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
alex_p_n, изменяет. MERGE появился в 2.1. Если нету MERGE можно воспользоваться EXECUTE BLOCK начиная с 2.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:31 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Romansochi Я вроде ж написал что insert не подходит... мне не надо вставлять новые записи мне надо исправить существуещее , в sql подобного примера не нашел поэто му и спросил. Точнее если не использовать group by , то проблем нет а вот с group by..... Ты много чего написал. Range в Firebird нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:31 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Gallemar, range это таблица ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:32 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Симонов ДенисGallemar, range это таблица Точно. Мне вообще весь код непонятен. Особенно Код: sql 1.
. Как будто знакомые слова ищутся гуглом и подставляются. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:38 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
GallemarИ расскажите зачем group by в расчете суммы мне нужна сумма не по всему столбцу а по строкам которые относятся к одному тип болтики в разных коробка - общая сумма шурупы в разных коробках - общаяя сумма ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:41 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Romansochi, ага, то есть сумма тебе нужна, а к чему эта сумма относится нет? Странно ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:45 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
GallemarСимонов ДенисGallemar, range это таблица Точно. Мне вообще весь код непонятен. Особенно Код: sql 1.
. Как будто знакомые слова ищутся гуглом и подставляются. странно вроде понятно таблица box считается кол-во по группам и заносится в вычисляемое поле massa 1 10 1 0 1 0 2 20 2 20 3 10 3 20 3 30 выводит 1 10 2 40 3 60 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:45 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
alex_p_nСимонов ДенисRomansochi, оператор MERGE тебе поможет Смотря, какой у него Огнептиц - MERGE поддерживается только с 2.5, если мне память не изменяет у меня 2.5 версия ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:46 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Romansochiвыводит 1 10 2 40 3 60 врёшь. Нет у тебя в select столбца kodid2 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:48 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Romansochiupdate range set massa1=(select sum(massa2) from box as BB group by kodid2) where (range.id1=BB.kodid2) Код: sql 1. 2.
Ну наверное как-то вот так ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:48 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Симонов ДенисRomansochi, оператор MERGE тебе поможет с мерге чтото не получается ... group by мешает а в цикле не хочу делать записей когда много будет тормозить ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:52 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Romansochi, показывай как делал ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:53 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Симонов ДенисRomansochiвыводит 1 10 2 40 3 60 врёшь. Нет у тебя в select столбца kodid2 нету , я просто пронумеровал select kodid2,sum(massa2) as massa from box group by kodid2 Вот так будет то что я написал , но в update нужны тока расчеты по massa2 поэтому в запросе update небыло поля kodid2 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 09:55 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Симонов ДенисRomansochi, ага, то есть сумма тебе нужна, а к чему эта сумма относится нет? Странно сорри трудно обьяснить для себя четко вижу... болтики нужно кол-во во всех разных коробках , шурупы , нужно кол-во во всех разных коробках. допустим доложил болтиков соответственно общее кол-во болтиков должно измениться... для одной записи конечно можно было изменять сразу же когда изменяется и кол-во в болтиках так у меня щас работает .. но мне надо чтоб я нажал кнопку и в первой таблице общее колво изменилось по всем наименованием ... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 10:00 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Romansochi, беда... Не ужели так сложно посмотреть пример оператор merge? Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 10:04 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
m7mRomansochiupdate range set massa1=(select sum(massa2) from box as BB group by kodid2) where (range.id1=BB.kodid2) Код: sql 1. 2.
Ну наверное как-то вот так о спасибо вроде работает ... чтото я не подумал что группирование и так будет если связать 2 таблицы щас буду проверять ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 10:05 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
Симонов ДенисRomansochi, оператор MERGE тебе поможет Мдя. В предыдущей жизни я бы, конечно, прошёлся насчёт проктологии. Сейчас просто скажу, как Айболит Бармалею в пещере - обилие возможностей тебя погубит. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 14:26 |
|
Как заполнить одну таблицу данными из второй таблицы
|
|||
---|---|---|---|
#18+
m7mRomansochiupdate range set massa1=(select sum(massa2) from box as BB group by kodid2) where (range.id1=BB.kodid2) Код: sql 1. 2.
Ну наверное как-то вот так Я бы ещё к селекту коалеску привинтил. Из агрегатов null при отсутствии данных не возвращает только count. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2017, 14:28 |
|
|
start [/forum/topic.php?fid=40&fpage=40&tid=1561399]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 148ms |
0 / 0 |