The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"сделать одну таблицу из двух."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"сделать одну таблицу из двух."
Сообщение от Pavel emailИскать по авторуВ закладки on 01-Июл-03, 22:30  (MSK)
Подскажите плиз, совсем уже запарился. Есть 2 таблицы:
t1:
+------------+------+
| text1      | num  |
+------------+------+
| ничего     | 2    |
| не         | 5    |
| получается | 6    |
+------------+------+

t2:
+------+---------+
| num  | text2   |
+------+---------+
| 1    | это     |
| 2    | моя     |
| 3    | очень   |
| 4    | крутая  |
| 5    | таблица |
| 6    | для     |
| 7    | теста   |
+------+---------+

Из них нужно сформировать одну таким вот образом:

+------------+------+---------+
| text1      | num  | text2   |
+------------+------+---------+
|            | 1    | это     |
| ничего     | 2    | моя     |
|            | 3    | очень   |
|            | 4    | крутая  |
| не         | 5    | таблица |
| получается | 6    | для     |
|            | 7    | теста   |
+------------+------+---------+

т.е. если номера из 1й табл. совпадают с номерами из 2й, то в первую графу результирующей таблицы пишется text1 из 1й таблицы. В противном случае в первую графу пишется пробел.
Что-то вроде этого, но только рабочее:
select t1.text1, t2.num, t2.text2 if(t1.num = t2.num, (t1.text1, t2.num, t2.text2), (t2.num, t2.text2)) from t1, t2;
Посоветуйте чего-нибудь плиз.

Заранее спасибо за помощь.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "сделать одну таблицу из двух."
Сообщение от Rover Искать по авторуВ закладки on 08-Июл-03, 10:22  (MSK)
>Подскажите плиз, совсем уже запарился. Есть 2 таблицы:
>t1:
>+------------+------+
>| text1      | num  |
>+------------+------+
>| ничего     | 2    |
>
>| не         | 5
>   |
>| получается | 6    |
>+------------+------+
>
>t2:
>+------+---------+
>| num  | text2   |
>+------+---------+
>| 1    | это     |
>
>| 2    | моя     |
>
>| 3    | очень   |
>| 4    | крутая  |
>| 5    | таблица |
>| 6    | для     |
>
>| 7    | теста   |
>+------+---------+
>
>Из них нужно сформировать одну таким вот образом:
>
>+------------+------+---------+
>| text1      | num  | text2
>  |
>+------------+------+---------+
>|            
>| 1    | это    
>|
>| ничего     | 2    |
>моя     |
>|            
>| 3    | очень   |
>|            
>| 4    | крутая  |
>| не         | 5
>   | таблица |
>| получается | 6    | для    
> |
>|            
>| 7    | теста   |
>+------------+------+---------+
>
>т.е. если номера из 1й табл. совпадают с номерами из 2й, то
>в первую графу результирующей таблицы пишется text1 из 1й таблицы. В
>противном случае в первую графу пишется пробел.
>Что-то вроде этого, но только рабочее:
>select t1.text1, t2.num, t2.text2 if(t1.num = t2.num, (t1.text1, t2.num, t2.text2), (t2.num, t2.text2))
>from t1, t2;
>Посоветуйте чего-нибудь плиз.
>
>Заранее спасибо за помощь.

если у тебя MySQL то вот так:


create table t3
SELECT t1.text1, tsnum, t2.test2
FROM t1
LEFT JOIN t2 ON t1.num = t2.num

удачи

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру