Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Вопрос по теории (Green) 18/05/2005 - 16:52:02
      Re: Вопрос по теории (Alec) 18/05/2005 - 17:02:39
      Re: Вопрос по теории (Green) 18/05/2005 - 17:22:42
      Re: отлично, блин! )) (++) (Alec) 18/05/2005 - 19:08:51
      Re: отлично, блин! )) (++) (Green) 18/05/2005 - 19:22:50
      Re: отлично, блин! )) (++) (Marat_L) 19/05/2005 - 09:54:26
      Re: отлично, блин! )) (++) (Валентин) 19/05/2005 - 10:09:19
      Re: 2Валентин (Marat_L) 19/05/2005 - 10:29:14
      Re: 2Marat_L (Валентин) 19/05/2005 - 12:56:25
      Re: А вот и запутанное объяснение (Green) 19/05/2005 - 13:34:23
      Re: А может тебе просто SELECT..JOIN нужен? (Marat_L) 19/05/2005 - 13:53:03
      Re: А может тебе просто SELECT..JOIN нужен? (Green) 19/05/2005 - 14:51:16
      Re: А ты можешь перепланировать базу? (Marat_L) 19/05/2005 - 15:56:29
      Re: Могу (Green) 19/05/2005 - 16:31:39
      Re: Еще один пример реала (Валентин) 19/05/2005 - 16:41:55
      Re: Еще один пример реала (Green) 19/05/2005 - 16:57:38
      Re: Рулить (Валентин) 19/05/2005 - 19:03:10
      Re: Рулить продолжение (Валентин) 19/05/2005 - 19:07:11
      Re: О задаче (Валентин) 19/05/2005 - 19:12:20
      Re: О задаче (Green) 19/05/2005 - 19:51:48

> Original message text:
> From: Green - 18/05/2005 - 16:52:02
> Subject:Вопрос по теории
> -----------------
> Здравствуйте.
> Есть вопрос по теории.
> Можно ли в MySQL одной командой реализовать запрос подобного вида:
> UPDATE
> Если ничего не изменил, тогда
> INSERT
>
>


From: Green - 19/05/2005 - 13:34:23
Subject:А вот и запутанное объяснение
-----------------
Поясняю задачу.
Есть большая (несколько десятков столбцов) таблица - T1
Есть множество мелких (от 2 и более столбцов) - T2..Tn

Идея такая, объединить все таблицы T2..n в таблицу T1
Проблемы:
Одна таблица(T2..n) может связаться с другой через несколько промежуточных таблиц

Если грубо говорить, то в одной таблице есть поля, которые пойдут в таблицу T1, в столбцы 1,9,17
Другая таблица со столбцами, которые пойдут во 2 и 3
Они ни как не связываются, при этом обе должны присутствовать в таблице T1

Потом появится таблица(T4) 1,2,5
Часть записей, которые проапгрейдятся до вида 1,2,5,9,17, другая до 1,2,3,5,
А часть должна попасть просто в виде 1,2,5, т.к. связать ни с чем не удалось


Пока решение такое (как я понял 1 командой это не сделать):
Добавить в таблицах(T2-n) столбец-метку
UPDATE T1,T2 SET T2.update_flag=1,T1.a1=T2.b1, T1.a2=T2.b2, T1.a3=T2.b3, WHERE T1.a1=T2.b1 OR T1.a2=T2.b2 OR T1.a3=T2.b3
А потом
INSERT t1 SET t1.a1=t2.b1, t1.a2=t2.b2, t1.a3=t2.b3

INSERT INTO T1 (a1,a2,a3)
SELECT * FROM T2 WHERE update_flag!=1;

А потом еще нужно в таблице T1 объединить те строки, которые теперь можно объединить

Фуф, надеюсь я нигде не напутал
Всем премного благодарен, жду более приятных решений



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
22075



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |