我有2個表。在table1
我有一些行像這樣的人:替換SQL Server中SELECT語句中的列的單引號
- PersonX - ID
- PersonX - 名稱
- PersonX - 地址
- PersonY - ID
- PersonY - 年齡
在第二張表中,上面提到的ID, NAME,ADDRESS,AGE
將是欄。我們在這裏有personX和PersonY的詳細數據。
現在,主要的問題是在存儲過程中,使用光標,我在變量存儲@Element
值table1
('ID', 'Name', ...
)。
現在我正在使用作爲下同遊標select語句:
SELECT @Element From Table2
我需要的用戶的細節,如他的身份證,年齡,地址等輸出,但不是我得到輸出'ID', 'NAME', 'AGE'
等... 。
我發現,這是因爲@Element
是varchar
,具有字符串值,因此選擇語句如下執行:
SELECT 'ID' from table2.
但我需要的是像下面
SELECT ID FROM TABLE2
我用替換功能,它不是爲我工作。案例功能,我無法使用它,因爲我們無法說出table1
中某個人的數據。它有所不同。我需要一個可用於所有記錄的動態語句。而不是爲每個記錄執行大小寫。
SELECT REPLACE(@Element,'''','')
FROM TABLE2
(仍然得到 'ID' 作爲輸出,而不是在表2換算值)
請幫我在這。希望你能理解我的解釋
如果你想在'SELECT'中**參數化**表或列名,你必須使用**動態SQL ** - 將你的SQL語句創建爲NVARCHAR(x)變量,然後執行你已經建立的SQL語句。沒有其他辦法可以做到這一點。 –