Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: JOIN
 
 автор: arreyofspace   (06.09.2008 в 15:30)   письмо автору
 
 

Господа помогите пожалуста, очень нужно

Есть 2 таблицы в MYSQL: tab1, tab2

tab1 Fields: DATA(DATE), NOMER(INT), DESCRIPT(VARCHAR), TOTALE(DECIMAL(10,2))
tab2 Fields: DATE(DATE),TOTALE(DECIMAL(10,2))

Нужно составить так запрос чтобы ети две таблици соеденились в таком виде

tab1 ( DATA | NOMER | DESCRIPT | TOTALE)
tab2 ( DATA |_______|_________ | TOTALE)

Слышал что можно использовать JOIN , но как

Спасибо за ваше внимание

  Ответить  
 
 автор: Trianon   (06.09.2008 в 16:11)   письмо автору
 
   для: arreyofspace   (06.09.2008 в 15:30)
 

приведите пример, что лежит в таблицах, и какой должен получиться результат.

  Ответить  
 
 автор: arreyofspace   (06.09.2008 в 16:48)   письмо автору
 
   для: Trianon   (06.09.2008 в 16:11)
 

tab1 Fields: DATE_____NOMER____DESCRIPT_____TOTALE ||||||||||||||||||||||||||||||| tab2 Fields DATA_____TOTALE
_________29/06/08____55_______SSSSSSSS_____550,00_|||||||||||||||||||||||||||||||| ________18/06/08____500,00
_________27/09/08____65_______BBBBBBBB_____800,00_|||||||||||||||||||||||||||||||| ________30/05/08____300,00

Результат обединения tab3:


tab3 Fields: DATE_____NOMER______DESCRIPT_______TOTALE
_________29/06/08____55_________SSSSSSSS_______550,00
_________27/09/08____65_________BBBBBBBB_______800,00
_________18/06/08____null_________null____________500,00
_________30/05/08____null_________null____________300,00


Помогите очень нужно

  Ответить  
 
 автор: Trianon   (06.09.2008 в 17:12)   письмо автору
 
   для: arreyofspace   (06.09.2008 в 16:48)
 

INSERT INTO tab3 SELECT * FROM tab1;
INSERT INTO tab3 SELECT `DATE`, null, null, `TOTALE` FROM tab2;

  Ответить  
 
 автор: Valick   (06.09.2008 в 18:17)   письмо автору
 
   для: Trianon   (06.09.2008 в 17:12)
 

Я так понимаю это для однократного применения.
А если tab1 и tab2 заполняются независимо друг от друга? То каждый раз надо убивать tab3?
Просто пока доподлинно неизвестно, что на самом деле нужно автору, но мне кажется нужен именно запрос выборки из двух таблиц

  Ответить  
 
 автор: Trianon   (06.09.2008 в 18:54)   письмо автору
 
   для: Valick   (06.09.2008 в 18:17)
 

Он попросил в третью таблицу. Даже указал её имя.
Иначе бы я написал что-то вроде
SELECT * FROM tab1 
UNION ALL 
SELECT `DATE`, null, null, `TOTALE` FROM tab2; 


>Просто пока доподлинно неизвестно, что на самом деле нужно автору,
А вот это я никогда не принимаю в расчет.
Если автор что-то действительно забыл конкретизировать, я считаю, что отвечающий вправе трактовать вопрос по-своему.
Другое дело, что в данном случае не скажешь, что автор забыл. Выйдет уж со слишком большой натяжкой.

  Ответить  
 
 автор: arreyofspace   (07.09.2008 в 16:03)   письмо автору
 
   для: Trianon   (06.09.2008 в 18:54)
 

Ви просто СУПЕР ето то что я искал. Спасибо вам большое. Очень ценю вашу помощ.

  Ответить  
 
 автор: arreyofspace   (08.09.2008 в 10:58)   письмо автору
 
   для: Trianon   (06.09.2008 в 18:54)
 

>
SELECT * FROM tab1 
>UNION ALL 
>SELECT `DATE`, null, null, `TOTALE` FROM tab2; 

>

Резултат отсортировать по DATE

  Ответить  
 
 автор: arreyofspace   (08.09.2008 в 11:07)   письмо автору
 
   для: arreyofspace   (08.09.2008 в 10:58)
 


SELECT * FROM tab1 
UNION ALL 
SELECT `DATE`, null, null, `TOTALE` FROM tab2 ORDER BY 1;


Где 1 - номер столбца для сортировки

  Ответить  
 
 автор: Trianon   (08.09.2008 в 11:11)   письмо автору
 
   для: arreyofspace   (08.09.2008 в 11:07)
 

если явно перечислить поля в первом селекте и в ORDER BY поставить имя поля - запрос будет читаться куда легче.

  Ответить  
 
 автор: arreyofspace   (08.09.2008 в 11:22)   письмо автору
 
   для: Trianon   (08.09.2008 в 11:11)
 

Полностью с вами согласен, спасибо за помощь.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования