Добрый день! Имеется несколько таблиц: t1, t2, t3... Допустим, в каждой только один столбец id.
Как слить все эти таблицы в одну res одним запросом?
сам нашел только такое решение:
foreach($tables as $table)
INSERT INTO res SELECT id FROM $table
но мне это представляется корявым...
Спасибо!
1. muspel - 30 Марта, 2012 - 14:47:27 - перейти к сообщению
2. ПТО - 30 Марта, 2012 - 14:57:34 - перейти к сообщению
muspel пишет:
Добрый день! Имеется несколько таблиц: t1, t2, t3... Допустим, в каждой только один столбец id.
Как слить все эти таблицы в одну res одним запросом?
сам нашел только такое решение:
foreach($tables as $table)
INSERT INTO res SELECT id FROM $table
но мне это представляется корявым...
Спасибо!
Как слить все эти таблицы в одну res одним запросом?
сам нашел только такое решение:
foreach($tables as $table)
INSERT INTO res SELECT id FROM $table
но мне это представляется корявым...
Спасибо!
Какие столбцы у двух других ?
3. muspel - 30 Марта, 2012 - 15:03:55 - перейти к сообщению
таблицы с одинаковой структурой, то есть в каждой только столбец id
4. ПТО - 30 Марта, 2012 - 15:22:42 - перейти к сообщению
muspel пишет:
таблицы с одинаковой структурой, то есть в каждой только столбец id
НУ смотри, средствами скуэл это делается. Так как ты не понимаешь и жмешься, чтобы назвать столбики , а так же не говоришь, КАК их тебе надо объединить, по какому принципу, то и ответить тебе точно не получится.
SELECT * FROM (t1 LEFT JOIN t2 USING(id)) LEFT JOIN t3 USING (id)
5. muspel - 30 Марта, 2012 - 15:30:52 - перейти к сообщению
нет, я, видимо, неправильно выразился, извиняюсь. И я не жмусь, просто пример такой)
в общем, таблицы:
t1.id | t2.id | t3.id
1 | 2 | 3
4 | 5 | 6
нужно получить:
res.id
1
2
3
4
5
6
в общем, таблицы:
t1.id | t2.id | t3.id
1 | 2 | 3
4 | 5 | 6
нужно получить:
res.id
1
2
3
4
5
6
6. ПТО - 30 Марта, 2012 - 15:36:22 - перейти к сообщению
muspel пишет:
нет, я, видимо, неправильно выразился, извиняюсь. И я не жмусь, просто пример такой)
в общем, таблицы:
t1.id | t2.id | t3.id
1 | 2 | 3
4 | 5 | 6
нужно получить:
res.id
1
2
3
4
5
6
в общем, таблицы:
t1.id | t2.id | t3.id
1 | 2 | 3
4 | 5 | 6
нужно получить:
res.id
1
2
3
4
5
6
Ну тогда
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT * FROM t1 UNION ALL SELECT * FROM t2 UNION ALL SELECT * FROM t3;