回答
試試這個:
insert into goodTable
select
bt.id,
(select bt1.value from badTable bt1 where bt1.info = 'firstname' and bt1.id = bt.id),
(select bt1.value from badTable bt1 where bt1.info = 'lastname' and bt1.id = bt.id),
(select bt1.value from badTable bt1 where bt1.info = 'phone' and bt1.id = bt.id)
from
badTable bt
group by id ;
這裏的工作小提琴:http://sqlfiddle.com/#!2/45f29e/2
偉大的答案,我使用你的命令,它工作正常,非常感謝你 – Luvias
這與沒有子查詢的純粹的group by解決方案相比如何優化? – 2014-03-28 16:00:46
你需要的東西是這樣的:
select id,
max(case when info='firstname' then value else null end),
max(case when info='lastname' then value else null end),
...
from table
group by id;
感謝您的幫助。 – Luvias
試試這個:
SELECT P.`info`,
(CASE
WHEN P.`action`='fname' AND P.`id` = '1'OR'2'
THEN P.`id`
ELSE NULL
END)AS 'firstname',
(CASE
WHEN P.`action`='lname' AND P.`id` = '2' OR'2'
THEN P.`id`
ELSE NULL
END) AS 'lastname',
(CASE
WHEN P.`action`='phone' AND P.`id` = '1'OR'2'
THEN P.`id`
ELSE NULL
END) AS 'phone'
FROM tablename P
GROUP BY P.`info`;
非常感謝您...... – Luvias
在您的病例陳述中包含「ID」條件是沒有意義的。 – 2014-03-28 16:02:00
- 1. 從長格式轉換爲寬格式
- 2. 從寬幅轉換數據,以長格式在SQL
- 3. 轉換熊貓DF從長到寬幅
- 4. 如何根據時間差的長格式轉換爲寬幅
- 5. 嘗試將數據長格式轉換爲寬幅
- 6. 如何將數據從長格式轉換爲寬格式?
- 7. 投射出長長的數據格式,以寬幅
- 8. 使用python將寬格式csv轉換爲長格式csv
- 9. Linux將長格式轉換爲寬格式
- 10. 將數據幀從寬轉換爲長格式
- 11. 在Cassandra中將寬錶轉換爲長格式
- 12. 重新格式化(重塑)數據表從長寬使用MySQL
- 13. 將數據從長格式轉換爲寬格式 - 多個變量
- 14. 如何在數據表中以長格式和寬格式轉換數據
- 15. 從長轉換爲日期格式
- 16. Tidyr的寬長格式
- 17. 如何在Excel中將長表格轉換爲寬表格表格?
- 18. excel公式或宏自動將長格式數據轉換爲寬格式
- 19. Python函數轉換的JSON字典列表從長到寬
- 20. 轉換長格式的廣泛
- 21. 在Python中從長轉換爲寬
- 22. dplyr和tidyr:將長轉換爲寬格式並排列
- 23. 將文件路徑從長格式轉換爲短格式
- 24. ANOVA從寬格式到長格式的重塑
- 25. R:將長格式轉換爲寬格式填寫缺失日期
- 26. MySQL:長表vs寬表
- 27. CSS轉換表格單元格寬度
- 28. 轉換Facebook的JSON created_time的字符串格式爲長格式
- 29. 將MySQL表格從列轉換爲行
- 30. MySQL將表格從Latin1轉換爲utf8
you shou ld使用數據透視表來獲取它.. – jmail
好的。我明白了...... – Luvias