отфильтровать таблицу sqlite

299
13 августа 2017, 05:58

Добрый день Прошу помочь найти ошибку. Есть следующая задача, дано три таблицы с однотипными данными: table1, table2, table3, у каждой из них есть всего одна колонка name. table1 это общая таблица в ней записаны все имена сотрудников, в table2 и table3 есть лишь некоторые имена из таблицы table1. Мне надо построить sql запрос чтоб в результате получить лишь те имена которых нет ни в table2 ни в table3. Пытаюсь сделать так, но не работает как надо:

SELECT table1.name FROM table1 WHERE table1.name
NOT IN
(SELECT table2.name FROM table2 UNION SELECT table3.name FROM table3)

Благодарю!

Answer 1

Можно воспользоваться оператором EXCEPT:

Пример:

t1

sqlite> select * from t1;
name
----------
name1
name2
name3
name4
name5

t2

sqlite> select * from t2;
name
----------
name1
name3

t3

sqlite> select * from t3;
name
----------
name5
name1

Запрос:

sqlite> select name from t1
   ...> except
   ...> select name from t2
   ...> except
   ...> select name from t3;
name
----------
name2
name4
Answer 2

Попробуйте так :

SELECT table1.name FROM table1 WHERE table1.name
NOT IN
(SELECT table2.name FROM table2) AND table1.name
NOT IN (SELECT table3.name FROM table3)
Answer 3

Ну попробуйте ещё так:

SELECT table1.name 
FROM table1 
LEFT JOIN table2 ON table1.name=table2.name
LEFT JOIN table3 ON table1.name=table3.name
WHERE table2.name IS NULL
  AND table3.name IS NULL

Хорошо, если name в каждой из таблиц индексировано. Совсем хорошо, если оно ещё и уникально.

READ ALSO
cannot find symbol symbol: class WindowSignIn location: package com.glim.antony

cannot find symbol symbol: class WindowSignIn location: package com.glim.antony

Подскажите в чем может быть причинаИногда IntellijIDEa выполняет программу без проблем, иногда выдает такую вот ошибку

249
Поиск в коллекции по одному или нескольким полям Java

Поиск в коллекции по одному или нескольким полям Java

Делаю реализацию магазина цветовЕсть склад - List plantStorage, в котором хранятся цветы - объекты Plant с полями: name, color, length, freshness, price

224
SetOnKeyTyped - как реализовать в javafx?

SetOnKeyTyped - как реализовать в javafx?

Здраствуйте! Подскажите как в javaFX сделать обработку нажатия(type) клавиши, те

178
Float округление

Float округление

Нужно в приложении вычеслить разность 2х чисел2 floata , ответ получаю типо 1

255