временные таблицы

Quidle

Полноценный новичок
временные таблицы

Задача:
Сделать временную таблицу, которая выбирает из двух таблиц однотипные данные и с обработкой concat-ом вставляет их в таблицу.
Вот запрос на создание временной таблицы:
PHP:
create temporary table TempReceipts (TR_ID integer, TR_R_ID varchar(12)) type = heap select CR_ID, concat(CR_ID, ':1') from ClientReceipts where CR_D_ID = $d_id
Здесь, насколько я понимаю, вставляются значения из первой таблицы...

Далее запрос на вставку из второй таблицы:
PHP:
insert into TempReceipts select OR_ID, concat(OR_ID, ':2' from OutsourceReceipts where OR_D_ID = $d_id
Вот он уже выдаёт ошибку:
You have an error in your SQL syntax near 'from OutsourceReceipts where OR_D_ID = 2506' at line 1

Да и первый запрос вставляет пустые значения...
Подскажите, плз, что я делаю не так ?
 

Апельсин

Оранжевое создание
> You have an error in your SQL syntax near 'from OutsourceReceipts where OR_D_ID = 2506' at line 1

скобку закрой.
 

Quidle

Полноценный новичок
Вот я блин тупой :)
Спасибо, Апельсинка, исправил, теперь выдаёт:
Column count doesn't match value count at row 1.
Да и остаётся непонятным, почему в таблицу после первого запроса пишутся пустые значения...
 

Апельсин

Оранжевое создание
> Column count doesn't match value count at row 1.

ну естесственно, у тебя же в таблице 2 столбца, а данные ты выбираешь, только из одного. неувязочка.

> Да и остаётся непонятным, почему в таблицу после первого запроса пишутся пустые значения

выполни только SELECT и посмотри что он выбирает.
 

Quidle

Полноценный новичок
Всё, спасибо, получилось :)
Недооценил mysql свой, что называется :))
Первый запрос был в корне неправильный.
Такой тип запросов должен быть для mysql версии ниже 3.23 :)
Он создавал вместо 2-х полей 4, вот в этом и была ошибка :)
Мог бы и сам, в принципе, догадаться select сделать ...
Огромное тебе спасибо, Апельсинчик!
Если как-нибудь встретимся - с меня коробка конфет :)
 

Апельсин

Оранжевое создание
> Он создавал вместо 2-х полей 4, вот в этом и была ошибка

брр .. 4 строки или 4 столбца?
если второе - то не понимаю как он может создавать 4 столбца если ты только 2 выбираешь?
 

Quidle

Полноценный новичок
Создавал 4 столбца первым запросом.
В ранних версиях mysql использовался такой синтаксис (судя по документации, которую я читал).
Причём, первые два поля содержали NULL, а в следующих было то, что мне было нужно...
А запрос я изменил следующим образом:
create temporary table TempReceipts type = heap select CR_ID, concat(CR_ID, ':1') from ClientReceipts where CR_D_ID = $d_id
То есть вырезал указание типов для полей.
 

Profic

just Profic (PHP5 BetaTeam)
Сам с таким немного побился :)
При create ... select муська сама создает нужные столбцы, в результате получаем, то что имеем %)
 
Сверху