頁:
[1]
SQL判斷問題
大家好~~小弟最近碰上了一個頗為麻煩的問題今天我有三個table
分別為A,B,C
而我要撈取的資料例如 A.A1,B.B1,B.B2,C.C2
但是B2跟C2的內容意義是一樣的
不一樣的點在於 當B1 = y 時撈取B2 而B1 = X 時撈取c2
請問我該如何下sql指令呢?
<div></div> select case when B1 = 'y' then b2
when B1 = 'X' then c2 as C from ...... select case when b1 = 'y ' then b2
when b1 = 'x' then c2 end as c from ...
前提是b2和c2的字段類型一致 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 .....
上面的作法有很多 然後這邊ABC的關係是什麼
如果有KEY可以串 這樣執行速度可以比較快<br><br><br><br><br><div></div> 若複雜,又須有條件、判斷時,
我通常的做法,不會直接下SQL指令.
都是做完所有條件、判斷,
再將最後SQL語法,指定成一個字串,
再執行此字串.
您認為,這樣會不會比較方便? 兩個table內容意義是一樣的,也可思考一下是否一開始table的設計問題,
另外這種判斷式有時也會放在前端呼叫sql的程式語言處理,而非sql本身。
頁:
[1]