Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Добавить в таблицу столбец из другой таблицы с условием / 7 сообщений из 7, страница 1 из 1
24.10.2017, 23:36
    #39541358
solovjevmaksim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в таблицу столбец из другой таблицы с условием
Здравствуйте, хочу попросить помощи на данном форуме. С БД SQLite знаком пару недель, пришлось изучать для написания курсовой.
Проблема состоит в том, что я не могу понять как создать запрос, что бы можно было бы добавить в таблицу столбец из другой таблицы при условии, что данные из первого столбца одной таблицы совпадали с данными из первого столбца второй таблицы.

Таблица Продукт:
Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE IF NOT EXISTS Продукт
    (
    id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE ON CONFLICT ROLLBACK , 
    материал VARCHAR(20) NOT NULL, 
    количество REAL NOT NULL,
    цена INTEGER 
    )


Таблица Материалы:
Код: sql
1.
2.
3.
4.
5.
6.
CREATE TABLE Материалы 
(
    id   INTEGER   UNIQUE   PRIMARY KEY AUTOINCREMENT   NOT NULL,
    название STRING (20) NOT NULL  UNIQUE ON CONFLICT ROLLBACK,
    цена     INTEGER (5) NOT NULL
)


Нужно в Продукт.цена поместить Материалы.цена если Продукт.Материал=Материалы.название

Делаю что-то типа расчета стоимости товаров в lazarus

Пробовал так
Код: sql
1.
INSERT INTO Продукт (цена) SELECT Материалы.цена FROM Материалы WHERE Продукт.материал=Материалы.название

но выдает ошибку [23:35:32] Ошибка при выполнении SQL запроса к базе данных 'DB_RSMK0': no such column: Продукт.материал
...
Рейтинг: 0 / 0
25.10.2017, 01:12
    #39541378
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в таблицу столбец из другой таблицы с условием
UPDATE тут нужен.
...
Рейтинг: 0 / 0
25.10.2017, 02:52
    #39541391
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в таблицу столбец из другой таблицы с условием
На АССESS примерно так:

UPDATE Продукт INNER JOIN Материалы ON Продукт.ID = Материалы.ID SET Продукт.цена = Материалы.цена WHERE (Продукт.ID = Материалы.ID)
...
Рейтинг: 0 / 0
25.10.2017, 17:51
    #39541950
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в таблицу столбец из другой таблицы с условием
982183На АССESS примерно так:

UPDATE Продукт INNER JOIN Материалы ON Продукт.ID = Материалы.ID SET Продукт.цена = Материалы.цена WHERE (Продукт.ID = Материалы.ID)Не надо путать диалекты.
http://sqlite.org/lang_update.html

Код: sql
1.
2.
3.
UPDATE Продукт SET
   цена = (SELECT Материалы.цена FROM Материалы WHERE Продукт.материал=Материалы.название)
WHERE цена IS NULL
...
Рейтинг: 0 / 0
31.10.2017, 18:12
    #39545486
solovjevmaksim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в таблицу столбец из другой таблицы с условием
White Owl982183На АССESS примерно так:

UPDATE Продукт INNER JOIN Материалы ON Продукт.ID = Материалы.ID SET Продукт.цена = Материалы.цена WHERE (Продукт.ID = Материалы.ID)Не надо путать диалекты.
http://sqlite.org/lang_update.html

Код: sql
1.
2.
3.
UPDATE Продукт SET
   цена = (SELECT Материалы.цена FROM Материалы WHERE Продукт.материал=Материалы.название)
WHERE цена IS NULL



White Owl, а можно сделать, так что, если значение в цена уже есть, то просто заменяет его? Заместо WHERE цена IS NULL
Пробовал убирать WHERE, выдает ошибку no fields for inclusion in where statement found
...
Рейтинг: 0 / 0
31.10.2017, 20:03
    #39545578
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в таблицу столбец из другой таблицы с условием
...
Рейтинг: 0 / 0
01.11.2017, 02:16
    #39545687
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавить в таблицу столбец из другой таблицы с условием
solovjevmaksimПробовал убирать WHERE
Покажи что осталось после "убрал"
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Добавить в таблицу столбец из другой таблицы с условием / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]