sql - 根据条件创建一个包含列名数组的新列
问题描述
我需要在 Bigquery 表中创建一个新列。此新列值必须是基于条件的颜色列名称数组。我的表“用户”看起来像:
用户 | 红色的 | 蓝色的 | 绿色的 | 黄色 | 其他不相关的列 |
---|---|---|---|---|---|
第一的 | 1 | 1 | 0 | 1 | |
第二 | 0 | 0 | 1 | 0 | |
第三 | 1 | 1 | 0 | 0 |
并且预期的表或视图必须是这样的:
用户 | 红色的 | 蓝色的 | 绿色的 | 黄色 | Array_col |
---|---|---|---|---|---|
第一的 | 1 | 1 | 0 | 1 | 红、蓝、黄 |
第二 | 0 | 0 | 1 | 0 | 绿色的 |
第三 | 1 | 1 | 0 | 0 | 红蓝 |
我对 SQL 和 Bigquery sintax 比较陌生,我尝试过创建一个视图,并且还使用
ALTER TABLE myproject.mydataset.users`
我用这个得到列名:
SELECT column_names
FROM `myproject.mydataset`.INFORMATION_SCHEMA.COLUMNS
WHERE (table_name = 'users')
但我找不到如何创建数组列表并用它们创建一个列。我正在撞墙。
解决方案
推荐阅读
- javascript - Generating an html table using javascript
- python - Extract Data From SVG
- android - 如何在导入模块类的 Android Studio 布局预览中修复“ClassNotFoundException”
- spring-boot - 使用gradle构建时,如何在eclipse之外的spring-boot应用程序中运行可执行jar文件?
- c++ - 使用模板类的成员结构
- android - 尝试通过 AdMob 设置广告时出现“找不到符号方法 loadAd(AdRequest)”
- php - php比较两个数组并发送到函数
- c++ - 如何根据设置的视图调整模型?
- python - 引用函数中未指定的列值的 lambda 函数
- python - Python:从自定义域发送电子邮件