2017-06-13 64 views
-1

從表的數據:合併記錄和列

id desc 
1 huba 
1 blub 
3 foo 
4 bar 

我想有

id desc 
1 huba, blub 
3 foo 
4 bar 

用相同的ID應該合併和遞減級聯所以記錄。 不幸的是我不能使用字符串或CONCAT。如果我嘗試使用這些功能,則會出現錯誤。 Sybase版本:Adaptive Server Enterprise/15.5/EBF 19902 SMP ESD#5.1/P/x86_64/Enterprise Linux/asear155/2594/64位/ FBO/Wed Jun 6 01:20:27 2012年4月6日星期二12:08:10

+0

的Sybase似乎有'MERGE' http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36272。 1572/html/commands/commands89.htm你有試過嗎? –

+0

不,我無法找到一個簡單的例子,如何使用它。 – GarfieldKlon

+0

它似乎只從15.7版開始纔可用?啊,並感謝downvote出於任何原因... – GarfieldKlon

回答

0

Sybase ASE的不具有類似功能的任何列出(),GROUP_CONCAT()等

雖然Sybase ASE的確實提供了一些支持XML,它不用於提供支持「的XML /路徑( )'構造。

雖然它可能在ASE 16創造一個時髦的解決方法(使用表@variable和用戶定義的函數)......你沒有運行ASE 16

最終結果是你」會需要編寫某種循環結構來完成你想要的東西,例如,通過在表中的行循環的光標。

注意:我不得不考慮'合併'的想法,但是因爲你運行的是ASE 15.5,'merge'在ASE 15.7之前是不可用的......我會把這個想法放在後臺燒錄器上目前。

ps - 好吧,單一查詢解決方案,但它涉及使用應用程序上下文功能(ACF)(例如,get_appcontext(),set_appcontext());但是這是一個非常,非常,非常混亂的解決方案......