我正在尝试从表value
上的一列detail
中选择多个数据,其中同一个表中的相邻列是特定值。
例如:
field_number | value
--------------------
40 | 820
41 | 548
44 | 100
我需要从detail.value返回3个选择值,以获得包含以下内容的结果:
"Balance Amount" | "Convo. Amount" | "Chapter ID"
-------------------------------------------------
820 | 100 | 548
这是一个更大的查询的所有部分,它连接3个表来为多个条件值提取这些值,我只是不知道引用具有每个返回的特定条件的相同table.value
的最佳方法。如果有帮助,我可以提供我的附加查询语法,但上述情况突出了重点。如果它使一个优雅的解决方案更加复杂,我也不一定需要“余额”,“Convo。金额”和“章节ID”别名。
非常感谢您提供的任何帮助或见解。
答案 0 :(得分:0)
这样的事情:
SELECT case when field_num=40 then value as 'Balance Amount' END,
case when field_num=41 then value as 'Convo. Amount' END,
case when field_num=44 then value as 'Chapter ID' END
from [table]
会为你做的。但这并不是非常可靠,除非你肯定那些是field_num中的值。
答案 1 :(得分:0)
不是很优化,但你可以使用它。请注意,MySQL的值为reserved word。
SELECT
(SELECT `value` FROM detail WHERE field_number = 40) AS 'Balance Amount',
(SELECT `value` FROM detail WHERE field_number = 44) AS 'Convo. Amount',
(SELECT `value` FROM detail WHERE field_number = 41) AS 'Chapter ID';
结果:
Balance Amount Convo. Amount Chapter ID
820 100 548