Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: help синтаксис - объединение таблиц mysql
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » help синтаксис - объединение таблиц mysql

Страниц (1): [1]
 

1. mvorobjov - 28 Апреля, 2007 - 10:16:56 - перейти к сообщению
добрый all!
помогите пжл, есть пять таблиц с одинаковой структурой, у меня задача объединить все пять в одну с такой же структурой, читая функции - писал (на примере двух таблиц):

SELECT * FROM dep, dir LEFT JOIN all ON ????? ; вот условие никак не пойму..

это правильно, или таблицы складывают функцией union ??Растерялся
2. valenok - 28 Апреля, 2007 - 10:37:53 - перейти к сообщению
UNION используется для объединения результатов работы нескольких команд SELECT в один набор результатов.
PHP:
скопировать код в буфер обмена
  1.  
  2. (SELECT a FROM table_name WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
  3. UNION
  4. (SELECT a FROM table_name WHERE a=11 AND B=2 ORDER BY a LIMIT 10)
  5.  


Если вам просто нужно выбрать все строки в пяти таблицах то вот этого будет достаточно:
PHP:
скопировать код в буфер обмена
  1.  
  2. SELECT * FROM table1,table2,table3,table4,table5 WHERE `b`>4717;
  3.  
3. mvorobjov - 28 Апреля, 2007 - 11:12:54 - перейти к сообщению
может я непривильно высказал конечную идею... мне необходимо просто скопировать данные всех пяти таблиц в одну
4. evgenijj - 28 Апреля, 2007 - 11:42:54 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. INSERT INTO mytable
  3.    SELECT * FROM table1 WHERE 1
  4.    UNION
  5.    SELECT * FROM table2 WHERE 1
  6.    UNION
  7.    SELECT * FROM table3 WHERE 1
  8.    UNION
  9.    SELECT * FROM table4 WHERE 1
  10.    UNION
  11.    SELECT * FROM table5 WHERE 1;
  12.  

 

Powered by ExBB FM 1.0 RC1