Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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"")


Наверх

Титульная страница Поиск, карта сайта Написать письмо