選擇的值到不同的行多個變量我有一個結構類似這樣的表:SQL在同一個表
|ROWID |COUNTRY|PRICE|
|1 |US |15|
|1 |UK |10|
|1 |EU |12|
,我需要選擇多行的值到變量使用整個存儲過程,做這樣的事情:
DECLARE @USprice int,@UKprice int
SELECT @USprice = T.Price FROM Table T WHERE T.Country = 'US'
SELECT @UKprice = T.Price FROM Table T WHERE T.Country = 'UK'
問題是什麼是運行此選擇的最快方式?事實上,我需要得到大約十幾行,所以我很關心性能。
難道是更好地做到這一點:
DECLARE @USprice int,@UKprice int
SELECT @USprice = CASE WHEN T.Country = 'US' THEN T.Price ELSE @USprice END
,@UKprice = CASE WHEN T.Country = 'UK' THEN T.Price ELSE @UKprice END
FROM Table T WHERE T.Country IN ('US','UK')
哪個DBMS您使用的是
T.Country
列不重複? (該代碼看起來不像ANSI SQL。) – jarlh看起來像T-SQL(MS-SQL-Server) – MatBailie
這兩種方法都可以工作,但如果價格返回多於一個value.You可以加入這個表格,而不是分配變量 – TheGameiswar