Вопрос:
У меня есть таблица, где я хочу добавить столбец IS_TRUE на основе другой таблицы с предложением where.
Т.е.: У меня есть таблица под названием Employee и у меня есть другая таблица с именем Manager, теперь я хочу вставить/добавить столбец IS_True в таблице Employee на основе:
A.ID = B.ID where ((A.Name Is Not Null) and (B.ID is null))
Ищете одно представление, которое делает это без дублирования данных в таблице Employee.
Employee таблицы
ID|Name|Salary 1|B |333 3|B |333 4|B |333 1|B |333
Manager таблиц
ID |Name 1 |A 3 |B 4 |B Null|A
Результаты:
ID|Name|Salary|IS_True 1|B |333 |YES 3|B |333 |NO 4|B |333 |NO 1|B |333 |YES
Ваша помощь очень ценится
Лучший ответ:SELECT a.*, CASE WHEN a.name IS NOT NULL AND b.id IS NULL THEN ‘YES’ ELSE ‘NO’ END AS is_true FROM employee a LEFT JOIN (SELECT DISTINCT id FROM manager) b ON a.id = b.id Ответ №1
попробуйте это: добавьте предложение where с соединением
SELECT a.*, CASE WHEN a.name IS NOT NULL AND b.id IS NULL THEN ‘YES’ ELSE ‘NO’ END AS is_true FROM employee a LEFT JOIN (SELECT DISTINCT id FROM manager) b ON a.id = b.id where b.name is null