Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Вниз

Вставка данных с использованием данных других полей   Найти похожие ветки 

 
cyborg ©   (2004-12-18 20:24) [0]

Помогите составить строку SQL запроса на вставку данных?
База Acess через компоненты ADO.

Нужно в таблицу "Приход" вставить номера (индексы) данных из других таблиц.

Написал это

             SQL.Clear;
             SQL.Add("INSERT INTO Приход( [Номер], [Номер раздела], [Номер товара], [Цена] )");
             SQL.Add("Values( "+ParsedStrings[1]+",");
->            SQL.Add("SELECT Номер FROM Раздел WHERE (Название=""+CurrentRazdel+""),");
             SQL.Add("SELECT Номер FROM Товар WHERE (Название=""+ParsedStrings[2]+""),");
             SQL.Add(ParsedStrings[4]+")");
             ExecSQL;

Ругается на первую строчку с селектом. Знаю что криво делаю :), но не знаю как прямо сделать.
В общем нужно вставить в таблицу "Приход" номера индексов (автоинкриментные поля) названий товара из других таблиц "Раздел" и "Товар".

Или как получить автоинкриментный индекс последней записи в базе?


 
sniknik ©   (2004-12-18 20:49) [1]

> Или как получить автоинкриментный индекс последней записи в базе?
@@IDENTITY


 
cyborg ©   (2004-12-18 20:57) [2]

С ошибкой разобрался, там оказывается в скобки запрос нужно помещать.
Ещё вопрос, в этом отборе может вернуться несколько запрошенных строк, так вот как указать, что нужно только одну строку возвращать, первую найденную?

> [1] sniknik ©   (18.12.04 20:49)

А куда его писать? Товар.@@IDENTITY, или как?


 
sniknik ©   (2004-12-18 21:02) [3]

SELECT @@IDENTITY
например (а вообще по смыслу где нужен)
следующей командой после инсерта


 
sniknik ©   (2004-12-18 21:03) [4]

> так вот как указать, что нужно только одну строку возвращать, первую найденную?
TOP 1


 
cyborg ©   (2004-12-18 22:52) [5]

Ещё вопрос.
Есть много текстовых записей, нужно отобрать все, но повторяющиеся чтобы были по одному разу.
Как сформулировать: SELECT field FROM table ?


 
sniknik ©   (2004-12-19 00:24) [6]

по разному можно DISTINCT, GROUP BY по контексту от того что нужно

p.s. если пользуешся SQL-лем желательно его хоть чуть чуть изучить.


 
cyborg ©   (2004-12-19 09:24) [7]


> p.s. если пользуешся SQL-лем желательно его хоть чуть чуть
> изучить.

Вот изучаю :), просто мне некоторая логика непонятня, типа команд Join и других подобных.


 
cyborg ©   (2004-12-19 09:46) [8]


> [6] sniknik ©   (19.12.04 00:24)

По GROUP BY работает. :)
Спасибо!


 
sniknik ©   (2004-12-19 12:23) [9]

а по DISTINCT значит нет? вообщето это более естественное решение для приведенного случая, GROUP BY всетаки предполагает еще дополнительно агрегатные поля где значения сгрупировання по нужному полю.


 
cyborg ©   (2004-12-20 08:29) [10]


> [9] sniknik ©   (19.12.04 12:23)

Да там как раз с сортировкой подходит.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.041 c
1-1104959131
maxXP
2005-01-06 00:05
2005.01.23
Cписок файлов


1-1105516584
Zilog
2005-01-12 10:56
2005.01.23
Посоветуйте статью, где описано как писать плагины для своей прог


3-1103275873
Zloy
2004-12-17 12:31
2005.01.23
импорт данных в dbf из файлы excel


3-1103185133
ksa2002
2004-12-16 11:18
2005.01.23
Вопрос по IBDataset


1-1105368908
serg128
2005-01-10 17:55
2005.01.23
Как результаты вывода команды ping перенаправить в Memo?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский