gpt4 book ai didi

sql查询人为创建行

转载 作者:行者123 更新时间:2023-12-02 08:53:57 26 4
gpt4 key购买 nike

我有一段在各种数据库上运行的代码。它只是运行一个可配置的 SQL 查询,该查询返回多行。我从每一行中提取一些文本和数字来创建一个新对象。我们最新的客户决定将所有文本数字组合放在数据库的一行中,即

 text_1, num_1, text_2, num_2, text_3, num_3

有没有一种聪明的方法可以查询它以返回

 text_1,num_1
text_2,num_2
text_3,num_3

这样我就不必为该客户端重新编码该部分。

编辑:(不同的数据库意味着不同的RDBMS)(逗号分隔表格中的不同列)

最佳答案

SELECT
CASE row.id WHEN 1 THEN field1
WHEN 2 THEN field3
ELSE field5
END AS new_field_1,
CASE row.id WHEN 1 THEN field2
WHEN 2 THEN field4
ELSE field6
END AS new_field_2
FROM
myTable
CROSS JOIN
(SELECT 1 AS id UNION ALL SELECT 2 UNION ALL SELECT 3) AS row

这应该适用于大多数人,但仍然需要一些修改(例如在 Oracle 的 UNION 中添加“FROM Dual”...)

或者,只需将三个查询合并在一起...

SELECT field1, field2 FROM myTable
UNION ALL
SELECT field3, field4 FROM myTable
UNION ALL
SELECT field5, field6 FROM myTable

关于sql查询人为创建行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6427724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com