若一個表tableA,里面有欄位name1,name2,score,
若declare @field nvarchar(50)
set @field='name1'
那么要怎么實作子查詢中作為條件的列名由@field提供?
比如上述我將@field賦為'name1',那么將等效于
select score from tableA where name1='aaa'?,
但問題是。。在sqlserver里面
select score from tableA where '@field'='aaa',是無效的,請教各位怎么處理?
uj5u.com熱心網友回復:
嘗試使用exec,但是select score from tableA where exec('@field')='aaa'也會報錯,還是格式不對呢uj5u.com熱心網友回復:
sqlserver 的話參考 動態 sql 陳述句。-- name1,name2,score,
declare @field nvarchar(50)
set @field='name1'
declare @v_sql nvarchar(200) = 'select score from tableA where ''''@field''''=''''aaa''''
exec @v_sql;
大概是這樣寫的,具體你可以搜一下 sql 動態陳述句執行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/57351.html
標籤:MySQL
