[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: соединение данных таблиц
maximka787
Ребят, я тут начал писать скрипт на PHP который будет собирать статистику из одной таблицы и записывать в другую. Я хочу понять можно делать это НЕ НА PHP

Вообще одним запросом можно вытащить данные из одной таблицы и добавить в другую с UPDATE + n если запись уже есть, если нет - добавить ?

tab1   id, id_object
tab2 id, id_object, count




Спустя 1 час, 22 минуты, 1 секунда (16.12.2011 - 14:07) SlavaFr написал(а):

Спустя 30 минут, 22 секунды (16.12.2011 - 14:37) maximka787 написал(а):
SlavaFr
уже покруче стало) только еще раз уточню. чтоб о том говорили.
Надо
1. считать все уникальные ID из первой таблицы с колонкой количество count (тут проблем нет)
id count
1 10
2 10
3 1
4 12


Далее вписать во вторую таблицу эти значения с автозаменой UPDATE `count`+ count это если ID совпадет. Если ID нет такого во второй таблице - то INSERT.

пока сделал на PHP но где-то видел что перебрасывать данные легко и самими запросами.

Спустя 25 минут, 41 секунда (16.12.2011 - 15:03) SlavaFr написал(а):
1) даже если mysql это может, то не надо все так усложнять.
лучше 2 понятных запроса, чем один непонятный, к томуже в твоем случае скорость особо страдать не будет

2) ты пробовал что то типа

create table test1(
id int not null,
cnt int,
primary key (id));

create table test2(
id int not null,
cnt int,
primary key (id));

insert into test1 value(1,1);

insert into test2 value(1,1);

insert into test2 value(2,2);

SELECT * FROM test2;

insert into test1(id,cnt) (select test2.id, test2.cnt from test2) ON DUPLICATE KEY UPDATE test1.cnt=test1.cnt+ test2.cnt;

select * from test1;

Спустя 2 минуты, 10 секунд (16.12.2011 - 15:05) maximka787 написал(а):
SlavaFr
спасибо тебе большое, погляжу. материала много)

Спустя 3 минуты, 30 секунд (16.12.2011 - 15:09) SlavaFr написал(а):
это э тебе как раз пример твоего случая описал.

Спустя 2 минуты, 21 секунда (16.12.2011 - 15:11) maximka787 написал(а):
SlavaFr
ну да, по сути логично все. а такой вопрос если одно из полей (т.е. в первой таблице) не ключ, то эта конструкция уже не будет работать?

Спустя 44 секунды (16.12.2011 - 15:12) SlavaFr написал(а):
нет

Спустя 7 минут, 15 секунд (16.12.2011 - 15:19) maximka787 написал(а):
SlavaFr
понял, буду думать. твою идею попробую переделать. говорят если что-то можно сделать на MYSQL делай не задумываясь это сильно упростит код, а это уже плюс.

Спустя 4 часа, 31 минута, 58 секунд (16.12.2011 - 19:51) SlavaFr написал(а):
да нет же. лучше прще и стандартно.
не надо под mysql мир подстраивать.


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.