在資料庫中把Image格式的欄位Union起來

Union 這個運算式可以把多個 Select 指令出來的東西合成1張表

Select * From Table1
Union
Select * From Table2


這樣子就可以Table1與Table2中不重覆的資料合成一張表
如果連重覆的資料也要一起來的話就使用Union All

Select * From Table1
Union All
Select * From Table2


這樣子Table1與Table2中如果有重覆的資料也會一起出現
問題來了,如果我要把資料表中內含有 Image 格式欄位 Union 起來呢?
如果你直接下 Union 得話,就會得到下面的錯誤
訊息 421,層級 16,狀態 1,行 1 不能選取 image 資料類型作為 DISTINCT,因為無法比較。
用 Union All 的話又會得到重覆的資料
解決方法就是使用Union All,但是在Union All 前把重覆的資料篩就行了

Select * From Table1
Where KeyId Not In (Select KeyId From Table2)
Union All
Select * From Table2
Where KeyId Not In (Select KeyId From Table1)


這樣子就可以得到一個沒有重覆資料且有含 Image 格式欄位的資料表了

新增評論

Loading