powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Объединение двух полей, удаление дубликатов
11 сообщений из 11, страница 1 из 1
Объединение двух полей, удаление дубликатов
    #39743372
cobain31
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, упрощу описание максимально чтоб не усложнять вопрос лишними деталями.
Есть таблица с двумя полями,

CREATE TABLE `main` (
`data` TEXT UNIQUE,
`temp` TEXT
);

data - содержит уникальные значения
temp - временно принимает значения, которые надо обработать следующим образом:

Необходимо проверить наличие значений поля temp в поле data,
при наличии значения temp в поле data надо удалить значение из temp.
при отсутствии значения temp в поле data надо добавить его в data, и оставить в temp (не удалять).

Подскажите пожалуйста как сделать, пытался сам, но ничего даже близко не получилось, в sql не силен..
...
Рейтинг: 0 / 0
Объединение двух полей, удаление дубликатов
    #39743461
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobain31,

если при вставке записи то тригером
...
Рейтинг: 0 / 0
Объединение двух полей, удаление дубликатов
    #39743462
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobain31,

или это надо сделать для всех су шествующих записей?
...
Рейтинг: 0 / 0
Объединение двух полей, удаление дубликатов
    #39743524
cobain31
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pit_alex,

не, я пишу свой скрипт на питоне, который использует бд sqlite для хранения данных. Скрипт импортирует данные во временный столбец (хотя сейчас уже понимаю что надо было для этого отдельную таблицу делать). И далее я хотел sql запросом делать объединение таблиц. Но запрос никак не могу сформировать. Вот на каком этапе сейчас бьюсь, но оно не работает :

Код: sql
1.
INSERT INTO main ('out') VALUES (SELECT DISTINCT ('temp') FROM main WHERE ('temp') NOT IN (SELECT ('data') FROM main));



По идее код должен в отдельный столбец вставлять строки из temp, если их нету в столбце data. Но надо переделать на отдельные таблицы судя по всему
...
Рейтинг: 0 / 0
Объединение двух полей, удаление дубликатов
    #39743558
cobain31
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Переделал на 3 разные таблицы (main, temp, out) в каждом по 1 полю (data). Но не работает, подскажите что тут не так?

Код: sql
1.
INSERT INTO out ('data') VALUES (SELECT DISTINCT ('data') FROM main EXCEPT SELECT ('data') FROM temp);
...
Рейтинг: 0 / 0
Объединение двух полей, удаление дубликатов
    #39743566
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobain31,

дык вроде и первый запрос работает, а что не так?
...
Рейтинг: 0 / 0
Объединение двух полей, удаление дубликатов
    #39743571
cobain31
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
near "SELECT": syntax error
...
Рейтинг: 0 / 0
Объединение двух полей, удаление дубликатов
    #39743572
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobain31,

Код: sql
1.
INSERT INTO main(data) SELECT temp FROM main WHERE temp NOT IN (SELECT data FROM main)
...
Рейтинг: 0 / 0
Объединение двух полей, удаление дубликатов
    #39743605
cobain31
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pit_alex,

спасибо!!! но я вот одновременно додумался до аналогичного запроса, работает)
Код: sql
1.
INSERT INTO out('data') SELECT data FROM temp EXCEPT SELECT data FROM main;



а есть вариант в этом же запросе сделать так что бы эта выборка одним скопировалась дополнительно в другую таблицу out?
...
Рейтинг: 0 / 0
Объединение двух полей, удаление дубликатов
    #39743651
pit_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cobain31,

по моему SQLite такого не позволяет, но можно добавить триггер и в нем вставлять куда угодно
...
Рейтинг: 0 / 0
Объединение двух полей, удаление дубликатов
    #39743738
cobain31
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pit_alex,

похоже что да. сделал несколькими запросами) Спасибо за помощь!
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Объединение двух полей, удаление дубликатов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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