[英]Crosstab/pivot query with Image data type in SQL Server 2008
我需要使用所有 varchar 數據類型和一種圖像數據類型的列在 SQL 服務器中執行交叉表/數據透視查詢。 我創建了一個以這種格式連接一系列表的存儲過程。 “B”是唯一可以鏈接到圖像數據的元素。 如果“B”的 DATA 字段為空白,則該行也有空白 IMAGEDATA。
OBJID CONTAINERID ELEMENT DATA IMAGEDATA
1 11 A a123 NULL
1 12 A aa123 NULL
1 11 B b123 0XFFD8FFE
1 12 B bb123 0XFFD8FFE
1 11 C c123 NULL
然后我使用 pivot 查詢。 理想情況下,表格應如下所示:
OBJID CONTAINERID A B C IMAGEDATA
1 11 a123 b123 c123 0XFFD8FFE
1 12 aa123 bb123 0XFFD8FFE
問題是圖像數據字段無法旋轉、分組、轉換等...我嘗試將圖像從二進制轉換為 varchar,但它給了我亂碼。
限制:
有沒有其他可能的方法來做到這一點?
因此,除了作為最后一步手動添加/創建 IMAGEDATA 列之外,似乎沒有其他方法可以做到這一點。 這是我的解決方案:
我使用了兩個單獨的表:一個沒有 IMAGEDATA 列的 pivot 表,另一個類似於上述問題中顯示的第一個表。 對 pivot 表進行查詢后,我將其放入一個臨時表中,添加一個具有 IMAGE 數據類型的列,並進行匹配以填充 IMAGEDATA 列。
似乎是一個簡單的解決方案,但它幾乎不可維護且效率不高。 我不太依賴於將 IMAGEDATA 與其他字段匹配,如果我決定更多的 ELEMENTS 將具有 IMAGEDATA 怎么辦?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.