【发布时间】:2020-05-06 14:58:15
【问题描述】:
我想检查我的客户是否拥有 iPhone、iPad 或 Macbook。 我不是在寻找一位客户拥有多少 iPhone、iPad 或 Macbook,我只是想确定他们是否拥有其中的任何一个,或者他们是否拥有任何两个,或者他们是否拥有所有三个。
我正在考虑使用CASE WHEN 函数,这里是查询:
select customer
, case when AppleProduct = 'iPhone' THEN 'TRUE' ELSE 'FALSE END AS Owns_iPhone
, case when AppleProduct = 'iPad' THEN 'TRUE' ELSE 'FALSE AS Owns_iPad
, case when AppleProduct = 'Macbook' THEN 'TRUE' ELSE 'FALSE' AS Owns_Macbook
from Apple_Product_Ownership
这是我想要得到的结果
customer | Owns_iPhone | Owns_iPad | Owns_Macbook
X TRUE TRUE FALSE
Y FALSE TRUE TRUE
Z TRUE FALSE FALSE
但这就是我得到的结果
customer | Owns_iPhone | Owns_iPad | Owns_Macbook
X TRUE FALSE FALSE
X FALSE TRUE FALSE
Y FALSE TRUE FALSE
Y FALSE FALSE TRUE
Z TRUE FALSE FALSE
【问题讨论】:
标签: sql group-by google-bigquery pivot