Форум: "Базы";
Текущий архив: 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