台灣最大程式設計社群網站
線上人數
1393
 
會員總數:243172
討論主題:187987
歡迎您免費加入會員
討論區列表 >> MS SQL >> Select 無符合條資料時,以預設資料列出
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Select 無符合條資料時,以預設資料列出
價值 : 100 QP  點閱數:1023 回應數:5

樓主

kinyo
初學者
200 21
860 41
發送站內信

請教各位高手,
資料跟條件如圖
欄A XXX的資料為預設值行資料
欄A用100 Select時,欄B值跟預設值行資料欄B一樣時,欄A100行顯示
反之不存在時,預設值行資料欄B行顯示
以上 謝謝

https://drive.google.com/file/d/1hAieHI9ySCWm9DaGJ9jXL3tw-pOE5F3y/view

搜尋相關Tags的文章: [ 預設資料行 ] ,
本篇文章發表於2018-05-22 22:48
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

kinyo
檢舉此回應
補上資料

原資料
+-----+-----+-----+-----+
|欄A |欄B |欄C |欄D |
+-----+-----+-----+-----+
|100 |11 |C11 |D11 |
|100 |12 |C12 |D12 |
|200 |11 |C21 |D21 |
預設資料|XXX |11 |XC1 |XD1 |
|XXX |12 |XC2 |XD2 |
+-----+-----+-----+-----+


WHERE 欄A = 100
+-----+-----+-----+-----+
|欄A |欄B |欄C |欄D |
+-----+-----+-----+-----+
|100 |11 |C11 |D11 |
|100 |12 |C12 |D12 |
+-----+-----+-----+-----+

WHERE 欄A = 200
+-----+-----+-----+-----+
|欄A |欄B |欄C |欄D |
+-----+-----+-----+-----+
|200 |11 |C21 |D21 |
|XXX |12 |XC2 |XD2 |
+-----+-----+-----+-----+

WHERE 欄A = 300
+-----+-----+-----+-----+
|欄A |欄B |欄C |欄D |
+-----+-----+-----+-----+
|XXX |11 |XC1 |XD1 |
|XXX |12 |XC2 |XD2 |
+-----+-----+-----+-----+
本篇文章回覆於2018-05-23 05:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

真的有點難
檢舉此回應
declare @wyw nvarchar(50)='300'
if (select count(*) from tb where WHERE 欄A =@wyw)=0
begin
select 'XXX','12','XC2','XD2'
end
else
begin
select * from tb where WHERE 欄A =@wyw
end
本篇文章回覆於2018-05-26 11:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

kinyo
檢舉此回應
感謝回覆,
不知是否一定要用stored procedure的方式呢?
本篇文章回覆於2018-06-02 15:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
不錯的參考

Bobby
檢舉此回應

本篇文章回覆於2018-06-05 13:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

kinyo
檢舉此回應
感謝二位的指導..
一直找不到泛用的SQL
目前小弟只好用logic去完成.
不過還是要感謝二位的指導,所以二位都給分..
本篇文章回覆於2018-06-08 22:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.