我的任務是創建一個.sql批處理文件來查詢包含用戶/服務器/組信息的MySQL數據庫(版本:4.1.13-標準),例如。mysql數據轉儲格式化
USER1 server1的組1,組2
USER1 server2的組1,組3
USER1服務器3組5
USER2服務器2組2
USER2服務器5組2
用戶3服務器4 GROUP4
tr ick是,輸出文件必須以這樣的方式格式化,即每個用戶只有一行,並將所有服務器和組信息組合在一起。所以,上面的例子看起來像:
「用戶1」,「服務器1:1組,第2組;服務器2:1組,第3組; server1的:組5」
「用戶2」,「服務器2:第2組;服務器5:組2」
「用戶3」,「服務器4:GROUP4」
我道歉,如果這或類似的問題已經回答過了。我保證我花了數小時尋找解決方案,但沒有找到一個解決方案。或者當我看到它時我沒有意識到。通過交易,我不是任何想象力的DBA,而且我對MySQL的瞭解還不足以解決這個問題。
到目前爲止,我已經得到最接近的是使用:
select concat(name,',',group_concat(concat(trim(hostname),':',replace(trim(groups),',','-'))separator ';'))
感謝您願意提供任何幫助。
klausinho,GROUP BY絕對是魔法的話!而DISTINCT可能也不會傷害。非常感謝您的幫助。 –
尤利歡迎!我從這個社區得到了很多解決方案和很好的想法,我很幸運能稍微付錢 – klausinho