查看完整版本: SQL判斷問題
頁: [1]

aa543162 發表於 2017-7-17 08:16 PM

SQL判斷問題

大家好~~小弟最近碰上了一個頗為麻煩的問題

今天我有三個table
分別為A,B,C

而我要撈取的資料例如 A.A1,B.B1,B.B2,C.C2
但是B2跟C2的內容意義是一樣的
不一樣的點在於 當B1 = y 時撈取B2 而B1 = X 時撈取c2
請問我該如何下sql指令呢?
<div></div>

GDNPC 發表於 2017-7-17 09:25 PM

select case when B1 = 'y' then b2
     when B1 = 'X' then c2 as C from ......

agent1234 發表於 2017-8-26 11:02 PM

select case when b1 = 'y ' then b2
when b1 = 'x' then c2 end as c from ...
前提是b2和c2的字段類型一致

alex0711 發表於 2017-11-9 10:49 PM

SELECT A.A1 ,
            B.B1 ,
            CASE WHEN B.B1 = 'y' THEN
                B.B2
            WHEN B.B1 = 'X' THEN
                C.C2
            END AS C
FROM A , B , C
WHERE .....
            

w12463 發表於 2017-12-10 08:32 AM

上面的作法有很多 然後這邊ABC的關係是什麼
如果有KEY可以串 這樣執行速度可以比較快<br><br><br><br><br><div></div>

kentcat3030 發表於 2017-12-21 05:38 PM

若複雜,又須有條件、判斷時,
我通常的做法,不會直接下SQL指令.
都是做完所有條件、判斷,
再將最後SQL語法,指定成一個字串,
再執行此字串.

您認為,這樣會不會比較方便?

darkforce2 發表於 2017-12-27 08:32 PM

兩個table內容意義是一樣的,也可思考一下是否一開始table的設計問題,
另外這種判斷式有時也會放在前端呼叫sql的程式語言處理,而非sql本身。
頁: [1]