iT邦幫忙

0

如何將SQL找出的資料再新增一個欄位是用另一個SQL查詢的?

sql

大家好
目前有一個TABLE:
https://ithelp.ithome.com.tw/upload/images/20180304/20104895xFS3h6WT1r.png

如果搜尋進口日2017/10的資料可以得到:
水果 產地 進口日 生產日
蘋果 台灣 2017/10 2017/8
蘋果 日本 2017/10 2017/9
奇異果 紐西蘭 2017/10 2017/8

SQL寫法:select * from table where 進口日期 = '2017/10';


我現在想要把上面那些已經找出的資料再新增一個欄位"標記",這個欄位是再做一次SQL得到的
條件如下:
如果是2017/8出產的蘋果-->標記Y
如果是2017/8出產的奇異果-->標記N
其餘為S


請問我整個SQL可以怎麼改寫呢?想不太出來,謝謝各位了

小魚 iT邦研究生 2 級 ‧ 2018-03-05 12:37:53 檢舉
不需要另外一個SQL,
同一個就可以處理了.

1 個回答

5
暐翰
iT邦大師 10 級 ‧ 2018-03-04 18:02:26

回答:

使用case when,相當於if else
可以達到你想要的

例子:

select 
    T1.*
    --如果是2017/8出產的蘋果-->標記Y
    ,case when T1.生產日期 = '2017/8' and T1.水果 = '蘋果' then'Y' 
        --如果是2017/8出產的奇異果 標記N
	   when  T1.生產日期 = '2017/8' and T1.水果 = '奇異果' then 'N'
       --其餘為S
	   else 'S'
    end 標記 --新增一個欄位"標記"
from "table" T1
where 進口日期 = '2017/10';

我要發表回答

立即登入回答