Sqlite View: добавить столбец на основе другого столбца - PullRequest
2 голосов
/ 31 мая 2010

У меня есть две таблицы

Employee

ID | Name | Department
----------------------
121  |Name1  | dep1
223  |Name2  | dep2

Назначение

ID | EID| 
---------
1  |121
2  |223
3  |121

[другие столбцы опущены для краткости]

Назначение таблицы указывает, кому назначена работа. EID является внешним ключом таблицы Employee. Также можно назначить две работы одному сотруднику.

Теперь я хочу создать вид, подобный этому

EID | Assigned
--------------
121 |true
333 |false

Назначенный столбец должен рассчитываться на основе записей в таблице Назначений.

До сих пор я только успешно создавал вид, подобный этому

EID | Assigned
--------------
121 |2
333 |0

с помощью команды

CREATE VIEW "AssignmentView" AS
SELECT distinct ID ,(select Count(*)
from Assignment where Assignment.EID = Employee.ID) as Assigned
FROM  Employee;

Спасибо

1 Ответ

2 голосов
/ 31 мая 2010

Выражение CASE и GROUP BY должны помочь:

Select
  e.id,
  Case When Count(a.eid) > 0 Then 'true' Else 'false' End As assigned
From employee e
Left Join assignment a On ( a.eid = e.id )
Group By e.id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...