88807


下記、２つのテーブルがあります。

ユーザ一覧  
[![ユーザー一覧](https://i.stack.imgur.com/a9Gs2.png)](https://i.stack.imgur.com/a9Gs2.png)

ユーザー属性  
[![attribute](https://i.stack.imgur.com/8LUU1.png)](https://i.stack.imgur.com/8LUU1.png)

2つのテーブルを結合して  
<ユーザ属性のname=day,value=0501>  
かつ  
<ユーザ属性のname=team,value=sales>  
の条件でselectした結果を  
下記のように出力したいのですが、上手くいきません。

求める結果  
[![画像の説明をここに入力](https://i.stack.imgur.com/yVrpS.png)](https://i.stack.imgur.com/yVrpS.png)

試したsqlと結果はこちらです。

[code]

    select
    a.username,
    case when b.name='day' then b.value end as 'day',
    case when b.name='team' then b.value end as 'team'
    from user_entity as a
    inner join user_attribute as b
    on a.user_id = b.user_id
    where case when b.name='day' then b.value = '0501' 
    when b.name='team' then b.value = 'sales' 
    end
    
[/code]

結果  
usernameが重複してしまっているのと、dayとteamの条件がAND条件ではなくOR条件になってしまっています。(satoとyamadaも出てしまう）

[![画像の説明をここに入力](https://i.stack.imgur.com/WtQre.png)](https://i.stack.imgur.com/WtQre.png)

もし分かる方いらっしゃいましたら、よろしくお願い致します。


CC BY-SA 4.0
2022-05-13T14:32:58.933
88806
2022-05-14T09:23:49.467
2022-05-13T15:50:46.287
4236
52606
question
sql sqlite
where句で絞ったselect結果を横に結合する方法


確認していませんが、これぐらいでどうでしょうか？

[code]

    SELECT username, '0501' AS day, 'sales' AS team
    FROM user_entity AS ue
    INNER JOIN user_attribute AS ua1 ON ue.user_id = ua1.user_id AND ua1.name = 'day' AND ua1.value = '0501'
    INNER JOIN user_attribute AS ua2 ON ue.user_id = ua2.user_id AND ua2.name = 'team' AND ua2.value = 'sales'
    
[/code]

> <ユーザ属性のname=day,value=0501>  
>  かつ  
>  <ユーザ属性のname=team,value=sales>  
>  の条件

とのことなので、`day`カラムは`0501`であり`team`カラムは`sales`なのは自明で、即値でいいかなと。結局クエリで取得したいのは`username`だけだと思いました。


CC BY-SA 4.0
2022-05-13T15:05:28.880
88807
2022-05-14T09:23:49.467
2022-05-14T09:23:49.467
4236
4236
88806
answer