我有兩張桌子。一個表包含有關在另一個表中查找資訊的位置的資訊。
表 A:
| PK | 經理鑰匙 | 桌子 | 第一欄 | 第二欄 |
|---|---|---|---|---|
| 51 | 101 | 資料庫1.dbo.Table1 | 測驗列1 | 測驗列5 |
| 29 | 201 | 資料庫1.dbo.Table6 | 暫存列3 | 暫存列4 |
| 37 | 301 | 資料庫1.dbo.Table3 | 生產專欄4 | 生產專欄9 |
DataBase1.dbo.Table1(三個表中的每一個都具有相同的結構,但在此示例中我將只使用 DataBase1.dbo.Table1):
| PK | 測驗列1 | 測驗列2 | 測驗列3 | 測驗列4 | 測驗列5 |
|---|---|---|---|---|---|
| 565 | 156 美元 | 870 美元 | 字串一 | 字串二 | 字串三 |
| 876 | 250 美元 | 840 美元 | 字串一 | 字串二 | 字串三 |
| 151 | 165 美元 | 950 美元 | 字串一 | 字串二 | 字串三 |
如果我將表 A 的結果縮小到單行,如何使用表 A 的 ColumnOne 和 ColumnTwo 中的行結果回傳第二個表的所需列?表 A 的表列中列出的資料庫將始終相同(DataBase1)。但是,表名不同,如示例中所示。
預期成績:
| PK | 測驗列1 | 測驗列5 |
|---|---|---|
| 565 | 156 美元 | 字串三 |
| 876 | 250 美元 | 字串三 |
| 151 | 165 美元 | 字串三 |
任何幫助表示贊賞。謝謝你。
uj5u.com熱心網友回復:
您將需要動態構建要執行的 SQL - 老實說,我會在實施此設計之前確定如何執行此操作!
對動態 SQL 沒有真正需要這種笨重的要求,這些都可以包含在單個配置表中。
就像是:
declare @sql nvarchar(max);
select @sql = Concat('select ', QuoteName(columnone), ', ', QuoteName(columntwo), ' from ', [table])
from A
where pk=51;
exec (@sql);
我建議避免將列命名為“表”,因為它是保留字,并且內容不是表,而是完全限定的物件名稱。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/486189.html
