試圖找到下列情況下適當的SQL:使用CASE的具體情況 - 我如何
假設我們有兩個表:一個名爲「ID」
TABLE A
ID int,
TEXT varchar(200)
TABLE B
ID int,
A_NO int,
B_NO int
場都上表可以連接到鏈接表。
下面的SQL:
SELECT
A.ID,
B.A_NO,
B.B_NO
FROM
A
LEFT JOIN
B
ON A.ID = B.ID
ORDER BY A.ID, B.A_NO, B.B_NO
得出以下結果:現在
,問題。 要求的是,在列B_NO中,列A_NO的MIN值的值爲1,而具有相同A_NO值的所有其他行的值爲0。 下面的結果預計:
請注意,在這個例子中,我們可以發現兩行各B_NO價值,但有可能有超過2行。
我試圖通過使用CASE重現這些結果,但沒有成功。 感謝您提前幫忙, Bouzouki。
這聽起來像一個家庭作業或學習作業。你有什麼嘗試?而且,你在用什麼數據庫? – 2013-02-11 20:38:57
不,不是功課(但我希望!!!)。我成功地獲得了結果,但是我直接在CASE中使用了一個具有很長子查詢的CASE。即使那樣,它只是一個特定的ID。由於我真的不是SQL專家,因此我有一些問題需要了解如何使用條件語句來填充字段B_NO。 – Bouzouki 2013-02-11 20:43:23
而且,我正在使用SQ Server 2008 R2。 – Bouzouki 2013-02-11 20:43:53