![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
INSERT INTO [D6]
Veetyok © (2004-01-14 00:49:00)
Помогите пожалуйста, у меня такая проблема: у меня две таблицы НОРМАТИВЫ (КодН, НазвН) и производная от нее ОЦЕНКИ (КодО, Оценка, Результат, КодН). мне нужно чтобы (при вводе, например в Edit, НазвН) в таблицу "Ocenki" добавилась одна запись.
-----------
INSERT INTO Ocenki ( Ocenka, Rezult, Id_Normativ )
SELECT 5, 250, Normativs.Id_norm
FROM Ocenki INNER JOIN Normativs ON Ocenki.Id_norm = Normativs.Id_norm
WHERE ((Нормативы.Норматив)=""Jump"")
-----------
В синтаксисе все нормально, добавляется строка, но не одна, а столько, сколько записей с нужным КодН(Id_norm) в таблице ОЦЕНКИ.
DrPass (2004-01-14 21:43:00) [1]
Я предположил, что у него всего одна таблица (Нормативы или Normativs - как правильно, не знаю). Обратное было бы уж слишком маловероятным извращением
sniknik (2004-01-14 20:57:00) [2]
нечего на зеркало ...
> INSERT INTO Ocenki ( Ocenka, Rezult, Id_Normativ )
> SELECT 5, 250, Normativs.Id_norm
> FROM Normativs
> WHERE (( Нормативы.Норматив)=""Jump"")
выборка, условие к одной а значение из другой таблицы?
а если это "опечатка" и это одно и тоже то что выдаст запрос
SELECT 5, 250, Normativs.Id_norm
FROM Normativs
WHERE (Normativs.Норматив="Jump")
? сколько записей ???
DrPass (2004-01-14 20:16:00) [3]
Тогда не получится - SQL в Access ублюдочный. Тебе нужно будет просто делать это двумя запросами - сперва получаешь код, потом заносишь его в Оценки
Veetyok (2004-01-14 06:31:00) [4]
в таблице Нормативы одна запись с Jump. а для создания Д я использую MS Access
DrPass (2004-01-14 01:18:00) [5]
Это будет только в том случае, если в таблице "Нормативы" у тебя полно записей с названием Jump. А должна быть только одна. Если так, то какой у тебя движок БД? Может, он просто не поддерживает в полной мере SQL-92?
Veetyok (2004-01-14 01:09:00) [6]
я щас попробывал - он теперь вводит столько строк, сколько было до этого, короче увеличивает вдвое. не катит, давай что-нить другое :)
DrPass (2004-01-14 01:00:00) [7]
Логично. Потому как ерунда написана. Проще не пробовал?
INSERT INTO Ocenki ( Ocenka, Rezult, Id_Normativ )
SELECT 5, 250, Normativs.Id_norm
FROM Normativs
WHERE ((Нормативы.Норматив)=""Jump"")