多行合併問題

2022-02-20 07:25:08 字數 877 閱讀 4159

上週遇到一sql問題,多行資料合併成一行。

需求是這樣的。

設計一表。商品對應的屬性和屬性值,由於商品可以對應多個屬性,每個屬性可以對應多個屬性值。於是設計了這個表

[caption id="attachment_303" align="alignnone" width="997"]

產品屬性和屬性值關聯表[/caption]

但是先需要做成這樣的效果。

[caption id="attachment_304" align="alignnone" width="722"]

產品對應屬性和屬性值的顯示效果[/caption]

這明顯是多行合併問題,但是怎麼合併卻是個難題。苦思多時,沒有結果,於是求助強大的google,網上果然有高人相助。

其實原理還是蠻簡單的,就是把查詢的結果輸出成xml,然後讀取這個xml,替換掉你要拼接的字段,就ok了。

現貼出核心**,為自己做記錄用。

[code lang="sql"]

select *

from (select distinct pattributeid, pattributename, productid, sortid

(select pvaluenames = stuff(replace(replace

((select pvaluename

from t_pattrrelation n

where pattributeid = a.pattributeid and pattributename = a.pattributename and productid = a.productid and sortid = a.sortid for xml auto),'', ''), 1, 1, '')) n

[/code]

awk多行合併 next

在awk進行文字處理時候,我們可能會遇到。將多行合併到一行顯示問題。有點象sql裡面,經常遇到的行轉列的問題。這裡需要用到next語句。awk next語句使用 在迴圈逐行匹配,如果遇到next,就會跳過當前行,直接忽略下面語句。而進行下一行匹配。text.txt 內容是 ab cde chengm...

GridView多行表頭合併

多行表頭合併,網上很多例項,這裡寫的很詳細,力求讓每個人都能看懂.實現原理 gridview在asp.net中最終轉為hmtl的 顯示表頭。在gridview建立行表頭行時 e.row.rowtype datacontrolrowtype.header 清除掉舊的表頭,再重新拼接新的表頭.table...

GridView多行表頭合併

多行表頭合併,網上很多例項,這裡寫的很詳細,力求讓每個人都能看懂.實現原理 gridview在asp.net中最終轉為hmtl的 顯示表頭。在gridview建立行表頭行時 e.row.rowtype datacontrolrowtype.header 清除掉舊的表頭,再重新拼接新的表頭.table...