SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 29.05.2009 10:57:36

bim
Участник
Зарегистрирован: 29.05.2009
Сообщений: 1

помогите пожалуйста написать очень сложный запрос

таблица KI (Name - название инструмента)
Id |Name| Quantity2 |

Таблица RI
Id | Familia | Name | Otchestvo

Таблица Za
Id | IdRab | IdClassic | Quantity | DataVidachi | DataSdachi |

Таблица Arhiv
Id | Familia | Name | Otchestvo | NameInstr | Quantity | DataVidachi | DataSdachi |  IdRab|


KI.Id = Za.IdClassic
RI.Id = Za.IdRab


Когда я вношу данные в таблицу Za, туда из таблицы KI поступает Id нейма в поле IdClassic, из таблицы RI поступает Id фамилии, имени и отчества в поле IdRab.
Мне необходимо сделать так, чтобы в таблицу Arhiv, поступала вся информауия из таблицы Za, но с развёрнутыми именами людей и инструментов. И чтоб даже в случае удаления данных из таблицы Za, в таблицу Arhiv вся инфа сохранялась и продолжала заполняться по мере поступления новых записей, а и ещё надо чтоб добавлялись только те записи где WHERE Zayavka.DataSdach >= "0000-00-00 00:00:00"

мозгов хватило у меня только на это, при чём я не знаю, почему условие WHERE  не работает, выдаёт ошибку
INSERT INTO Arhiv (Familia, Name, Otchestvo, NameInstr, Quantity, DataVidachi, DataSdachi, IdRab)

SELECT RabInfo.Familia, RabInfo.Name, RabInfo.Otchestvo, Zayavka.IdClassic, Zayavka.Quantity, Zayavka.DataVidachi, Zayavka.DataSdachi, RabInfo.Id FROM RabInfo

LEFT JOIN Zayavka ON RabInfo.Id = Zayavka.IdRab
LEFT JOIN KlassifikaciyaInstrumentov ON Zayavka.IdClassic = KlassifikaciyaInstrumentov.Id

WHERE Zayavka.DataSdach >= "0000-00-00 00:00:00"

Неактивен

 

#2 29.05.2009 19:08:42

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: помогите пожалуйста написать очень сложный запрос

С виду запрос нормальный (ну, с точностью до названий таблиц). Какую ошибку выдает?

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson