線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1472
推到 Plurk!
推到 Facebook!

SQL 如何取同一筆記錄不同值

答題得分者是:aftcast
Ray_ca
一般會員


發表:5
回覆:8
積分:2
註冊:2013-10-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2015-04-21 17:11:16 IP:114.37.xxx.xxx 訂閱
您好
在同一筆記錄 有 A,B,C,D,E,F,G
A B C D E F G
001 156 156 275 278 278 NULL
如何用 SQL語法 取 001 156,275,278
謝謝
GrandRURU
站務副站長


發表:235
回覆:1655
積分:1753
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2015-04-21 19:56:30 IP:182.235.xxx.xxx 未訂閱
Pivot
Ray_ca
一般會員


發表:5
回覆:8
積分:2
註冊:2013-10-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2015-04-21 20:13:57 IP:114.37.xxx.xxx 訂閱
謝謝回覆
不好意思我表達不清楚
在同一筆記錄 有 A ,B ,C ,D ,E ,F ,G....... 欄紀錄文字字串號碼

例如

時間[05:25] A代號 [001] B文字號碼[156] A1代號[002] C文字號碼[156]
A2代號[003] D文字號碼[275] A3代號[004] E文字號碼[278] A4代號[005] F文字號碼[278] A5代號[NULL] E文字號碼[NULL]

以上唯一筆記錄

如何用 SQL語法 select ........ from table where 時間 = '05:25'
取 (在B,C,D,E,F,E) 去除重覆, 取單一文字串出現 156,275,278

編輯記錄
Ray_ca 重新編輯於 2015-04-21 20:18:40, 註解 無‧
GrandRURU
站務副站長


發表:235
回覆:1655
積分:1753
註冊:2005-06-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2015-04-21 20:41:36 IP:101.3.xxx.xxx 未訂閱
SELECT DISTINCT * FROM...
SELECT ... FROM ... WHERE PIVOT CODE

===================引 用 Ray_ca 文 章===================

謝謝回覆

不好意思我表達不清楚
在同一筆記錄 有 A ,B ,C ,D ,E ,F ,G....... 欄紀錄文字字串號碼

例如

時間[05:25] A代號 [001] B文字號碼[156] A1代號[002] C文字號碼[156]
A2代號[003] D文字號碼[275] A3代號[004] E文字號碼[278] A4代號[005] F文字號碼[278] A5代號[NULL] E文字號碼[NULL]

以上唯一筆記錄

如何用 SQL語法 select ........ from table where 時間 = '05:25'
取 (在B,C,D,E,F,E) 去除重覆, 取單一文字串出現 156,275,278

Ray_ca
一般會員


發表:5
回覆:8
積分:2
註冊:2013-10-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2015-04-21 21:13:00 IP:114.37.xxx.xxx 訂閱
謝謝 站務副長 Select DISTINCT b,c,d,e,f,e from tmptable (僅處理單一筆資料,多個欄位,過濾重複字串) 顯示 156 156 275 278 278 null null 而不是 275,278 至於 WHERE PIVOT CODE 不知怎麼使用 謝謝 如果真的SQL 無語法 ,只好丟到 TMP 過濾後再再帶出
編輯記錄
Ray_ca 重新編輯於 2015-04-21 21:14:09, 註解 無‧
Ray_ca 重新編輯於 2015-04-21 21:15:11, 註解 無‧
Ray_ca 重新編輯於 2015-04-21 21:15:52, 註解 無‧
Ray_ca 重新編輯於 2015-04-21 21:41:04, 註解 無‧
Ray_ca 重新編輯於 2015-04-21 21:45:16, 註解 無‧
aftcast 重新編輯於 2015-04-21 23:44:20, 註解 無‧
aftcast 重新編輯於 2015-04-21 23:46:56, 註解 無‧
leveon
資深會員


發表:30
回覆:386
積分:303
註冊:2012-02-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2015-04-21 22:41:06 IP:220.132.xxx.xxx 訂閱
stackoverflow.com/questions/18026236/sql-server-columns-to-rows
aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2015-04-22 00:34:44 IP:114.32.xxx.xxx 訂閱
select * from unpivt;
rid A B C
sam 1 2 2
shaw 1 1 NULL

SELECT rid,mySet, mySetValue
FROM unpivt
unpivot
(
mySetValue for mySet in (A,B,C)
) as foo
rid mySet mySetValue
sam A 1
sam B 2
sam C 2
shaw A 1
shaw B 1

select distinct rid,mySetValue from
(
SELECT rid,mySet, mySetValue
FROM unpivt
unpivot
(
mySetValue for mySet in (A,B,C)
) as foo where rid = 'sam'
) as bar
rid mySetValue
sam 1
sam 2

以上是 ms sql 的語法,如果你是別的資料庫,那麼就要用別的方式。
------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
Ray_ca
一般會員


發表:5
回覆:8
積分:2
註冊:2013-10-24

發送簡訊給我
#8 引用回覆 回覆 發表時間:2015-05-03 15:10:08 IP:114.37.xxx.xxx 訂閱
最近沒上線,耽擱了,還是沒搞定
我用最苯的方法,將該筆記錄 車號欄位 EmxCarNum1,EmxCarNum2,EmxCarNum3,EmxCarNum4
車號值各 (126, 126, 478, NULL)
先丟到暫存檔去過濾,
謝謝各位盡心指導,深感致謝




編輯記錄
Ray_ca 重新編輯於 2015-05-03 15:27:07, 註解 無‧
系統時間:2017-12-17 18:00:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!