作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个像这样的 SQL 数据库设置:
#1 格式
我想将这两列拆分成四个单独的列,如下所示:
#2 格式
到目前为止我有查询:
SELECT value, identifier
FROM [tableName]
WHERE identifier IN ('Image_URL', 'Title_Name');
并返回 #1 格式,因此我拥有从查询返回的所有信息。我的问题是我想让它在 #2 查询中显示,每列都有一个唯一的名称。
如何扩展或改进我的查询以返回 #2 格式?
谢谢你:)
最佳答案
您可以使用CROSS JOIN
并获得笛卡尔坐标:
SELECT * FROM (
SELECT value, identifier
FROM [tableName]
WHERE identifier = 'Collection_Image'
) Images
CROSS JOIN (
SELECT value, identifier
FROM [tableName]
WHERE identifier = 'Collection_Title'
) Titles;
结果:
+============+==================+=============+==================+
| value | identifier | value | identifier |
+============+==================+=============+==================+
| Image_URL1 | Collection_Image | Title_Name1 | Collection_Title |
+------------+------------------+-------------+------------------+
| Image_URL2 | Collection_Image | Title_Name1 | Collection_Title |
+------------+------------------+-------------+------------------+
| Image_URL1 | Collection_Image | Title_Name2 | Collection_Title |
+------------+------------------+-------------+------------------+
| Image_URL2 | Collection_Image | Title_Name2 | Collection_Title |
+------------+------------------+-------------+------------------+
您还可以使用 ROW_NUMBER
函数作为连接条件:
SELECT Images.value, Images.identifier, Titles.value, Titles.identifier
FROM (
SELECT value, identifier, row_number() over(order by value) rn
FROM [tableName]
WHERE identifier = 'Collection_Image'
) Images
FULL OUTER JOIN (
SELECT value, identifier, row_number() over(order by value) rn
FROM [tableName]
WHERE identifier = 'Collection_Title'
) Titles ON Images.rn = Titles.rn;
关于sql - 根据另一个列的值将一个 sql 列拆分为两个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70257990/
我是一名优秀的程序员,十分优秀!