我一直在搜索和阅读,并没有完全支持我需要的东西。将数据列转换为mySQl中的行
表
name,stuff1, stuff2, skill1, skill2, skill3 ... skill200
196个表中的行。技能值范围从0到4。
我知道,没有正常化。现在它需要保持这种方式。
我需要返回
Name1, name2, name3, ... skill1 skill1value, Skill1value, skill1value, ... skill2 skill2value, skill2value, skill2value, ...
每个名称只有一个排,直到永远。
换句话说,每个技能(每个技能的价值)都有一个名字和一个行,并且有一个where子句 - where stuff ='something'。我不需要做任何技巧,只有200列左右的10-15个。
这是mySQL。只有196行
在此先感谢
到目前为止,您有没有尝试过?有时分享你的尝试是有帮助的,即使他们失败了。其他人在这里可能能够从那里拿到它,做出更正,添加东西,然后使其工作。 – Nonym 2011-12-19 20:08:48
不同的事情,像每个技能的工会等。我想收集我们一些失败,我想。 – user1084424 2011-12-19 20:51:41
SELECT skill1如skill1, 最大值(CASE名WHEN 'NAME1' THEN ELSE skill1 0 END)AS 'NAME1', 最大值(CASE名WHEN 'NAME2' THEN skill1 ELSE 0 END)AS 'NAME2' FROM skills_table GROUP BY 1; - 这让我看到了可能的价值观,它的结束,但如果我确实得到它,它有一些问题。 1)每个技能需要是一个联盟,而专栏需要硬编码的名称。如果我能够正确地进行汇总(一行,而不是6),我可以和它一起生活吧。 – user1084424 2011-12-19 21:00:17