台灣最大程式設計社群網站
線上人數
1280
 
會員總數:246138
討論主題:189722
歡迎您免費加入會員
討論區列表 >> MS SQL >> SQL語法請教
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
SQL語法請教
價值 : 100 QP  點閱數:254 回應數:7
樓主

歐告
門外漢
0 2
28 4
發送站內信

各位前輩好,我第一次踏入SQL的世界,一切都在學習中
目前遇到一個困難,如下圖所示


我想要將上表透過SQL語法轉換成下表那樣:
針對上表的「狀態」前兩個字若為’入口’則將該列的「刷卡時間」丟到下表的「入口時間」
             若為’出口’則將該列的「刷卡時間」丟到下表的「出口時間」
並依照時間排序從上到下。
我目前遇到的困難是,該如何向下表那樣,第二列及第三列可以在同一列顯示
我目前使用CASE WHEN這個語法做出來都只會單獨SHOW一列,所以總共會有五列,並非下表中的三列
不知道是哪裡漏掉了,麻煩各位前輩指點指點我!謝謝

搜尋相關Tags的文章: [ 語法 ] ,
本篇文章發表於2020-11-15 23:58
1樓
作者回應

歐告
檢舉此回應
我的原PO~這邊補上我的SQL Code,麻煩幫我看看∼謝謝


本篇文章回覆於2020-11-16 13:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

風箏
檢舉此回應





本篇文章回覆於2020-11-16 13:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

歐告
檢舉此回應
風箏大大,看了你的Code就知道如何運用了!
學了很多∼謝謝!
本篇文章回覆於2020-11-16 15:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

風箏
檢舉此回應
要注意資料隊列
萬一有出勤不正常(忘記簽到退)
會導致排序錯亂所以如果有這種情境應該要補上一筆差假申請讓資料可以完整隊列媒合
本篇文章回覆於2020-11-16 15:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

歐告
檢舉此回應
嗨 風箏哥你好
如下圖

圖片連結:(公司無法上傳圖片,僅能用手機上傳到縮網址,請見諒)
https://ppt.cc/fIE6fx


綠色欄位=原始資料;紅色欄位=我要透過SQL語法算出來王小明的工作時間及休息時間
右邊的兩種顏色框框,是解釋這些數字如何算出來的(也就是工作時間=出口時間-入口時間;休息時間=入口時間-出口時間)

然後如果重複有兩筆或以上的「入口」或「出口」出現
則只取最新的時間為基準,前面的都顯示「重複讀卡」

請教我該如何實現呢? 謝謝你

本篇文章回覆於2020-11-27 13:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

風箏
檢舉此回應



本篇文章回覆於2020-11-30 11:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

風箏
檢舉此回應
更正一下邏輯
在排除重複簽到的邏輯有出現錯誤沒有正確排除

修正後版本如下


本篇文章回覆於2020-11-30 16:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.