LINUX.ORG.RU

Работа с массивами данных

 


0

1

Субд SQLite. Есть массив строк [ 'one', 'two'], нужно получить элементы, которых нет в таблице, что-то типа такого

with T as(select 'one', 'two')

select * from T

EXCEPT

select field from Table Where field In (select * from T)

но это не работает SELECTs to the left and right of EXCEPT do not have the same number of result columns



Последнее исправление: polin11 (всего исправлений: 3)

Ну и что не понятно?

select field from Table

Выдаёт таблицу у которой один столбец.

with T as(select 'one', 'two') select * from T

Выдаёт таблицу у которой два столбца.

Количество столбцов не совпадает, вот и ошибка.

Делай (SELECT 'one' UNION SELECT 'two')

anonymous
()
select field from Table left join T on T.<whatever> = Table.field WHERE T.<whatever> IS NULL

Стандартно делаешь antijoin.

x3al ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.