我想知道,把结果合并成一个结果的最有效方法是什么。
我想转身
Num Ani Country
---- ----- -------
22 cows Canada
20 pigs Canada
40 cows USA
34 pigs USA
进入:
cows pigs Country
----- ----- -------
22 20 Canada
40 34 USA
我想知道是否最好只使用SQL,或者是否应该将整个查询结果集提供给用户。一旦提供给用户,我就可以使用JavaScript将其解析为所需的格式。
另外,我也不知道如何将其转换为SQL查询的正确格式。我能想到的处理这个SQL语句的唯一方法是动态创建一个临时表。
最佳答案
你要做的手术叫做“旋转”PIVOT info page has a little more detail:
SELECT MAX(CASE WHEN t.ani = 'cows' THEN t.num ELSE NULL END) AS cows,
MAX(CASE WHEN t.ani = 'pigs' THEN t.num ELSE NULL END) AS pigs,
t.country
FROM YOUR_TABLE t
GROUP BY t.country
ORDER BY t.country