I knew that will be more compact way. Thanks for showing it. One thing I still 
would like to handle is that, to make sure the column contains only True/False. 
But right now sometimes it shows NULL. How can I fix this?

id|name|active|
--|----|------|
 1|f1  |true  |
 2|f2  |true  |
 3|f3  |false |
 4|f4  |      |


Thanks,

Arup Rakshit
a...@zeit.io



> On 08-Apr-2019, at 3:28 PM, Szymon Lipiński <mabew...@gmail.com> wrote:
> 
> Hey,
> you could just use
> 
> SELECT
>         features.id,
>         features.name,
>         company_features.company_id = 1 as active
> 
> regards,
> Szymon
> 
> On Mon, 8 Apr 2019 at 09:55, Arup Rakshit <a...@zeit.io> wrote:
> I have 2 tables Company and Feature. They are connected via a join table 
> called CompanyFeature. I want to build a result set where it will have id, 
> name and a custom boolean column. This boolean column is there to say if the 
> feature is present for the company or not.
> 
> Company table:
> 
>     | id | name | 
>     |----|------| 
>     | 1  | c1   | 
>     | 2  | c2   | 
>     | 3  | c3   | 
> 
> Feature table:
> 
>     | id | name | 
>     |----|------| 
>     | 1  | f1   | 
>     | 2  | f2   | 
>     | 3  | f3   | 
> 
> Company Feature table:
> 
>     | id | feature_id | company_id | 
>     |----|------------|------------| 
>     | 1  | 2          | 1          | 
>     | 2  | 1          | 1          | 
>     | 3  | 3          | 2          | 
> 
> The result should look like for company `c1`:
> 
>     | id | name | active | 
>     |----|------|--------| 
>     | 1  | f1   | t      | 
>     | 2  | f2   | t      | 
>     | 3  | f3   | f      | 
> 
> I tried something like:
> 
> SELECT
>         features.id,
>         features.name,
>         CASE WHEN company_features.company_id = 1 THEN
>                 TRUE
>         ELSE
>                 FALSE
>         END AS active
> FROM
>         features
>         LEFT JOIN company_features ON company_features.feature_id = 
> features.id
> 
> It works. But is there any better way to achieve this?
> 
> 
> Thanks,
> 
> Arup Rakshit
> a...@zeit.io
> 
> 
> 
> 
> 



Reply via email to