SQL 如何在同張表判斷同一列的值篩選出對應的資料?(不用回圈的方法)
1.如果車次列同時有A車,B車,就只顯示A車資料,不需要顯示B車資料
2.如果車次只有A車或者B車,只有A車就顯示A車,只有B車就顯示B車
uj5u.com熱心網友回復:
CREATE TABLE #T
(
車次 VARCHAR(20),
地區 VARCHAR(20)
)
INSERT INTO #T VALUES('A','北京')
INSERT INTO #T VALUES('B','北京')
INSERT INTO #T VALUES('A','上海')
INSERT INTO #T VALUES('B','上海')
INSERT INTO #T VALUES('C','上海')
INSERT INTO #T VALUES('A','廣州')
INSERT INTO #T VALUES('B','深圳')
INSERT INTO #T VALUES('C','南京')
INSERT INTO #T VALUES('A','成都')
DECLARE @XX VARCHAR(20)='B'---優先選哪個車次
SELECT
(CASE WHEN
(SELECT COUNT(*) FROM #T B WHERE B.地區=A.地區 AND B.車次=@XX)>0
THEN
(@XX)
ELSE
(SELECT TOP 1 B.車次 FROM #T B WHERE B.地區=A.地區)
END
),
A.地區 FROM #T A GROUP BY A.地區
DROP TABLE #T
一共只有兩種車次嗎
uj5u.com熱心網友回復:
沒看明白,舉例說明下,你要呈現的結果是怎么樣的uj5u.com熱心網友回復:
SELECT *FROM TABLE A
WHERE NOT EXISTS (SELECT 1 FROM TABLE WHERE 地區=A.地區 AND 車次<A.車次)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/235840.html
標籤:疑難問題
上一篇:求解,跪謝
