看板 Database 關於我們 聯絡資訊
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) 資料庫名稱:MSSQL 資料庫版本: 內容/問題描述: 各位大大好,在下是在解題的時候第一次遇到這種類似模糊查詢的問題, (兩個關鍵欄位不是完全一樣) 兩個資料表如下: https://imgur.com/pV5h6j8 我預設一開始寫的方式inner join之後去修改, 在on的條件下使用like(模糊查詢),但還是錯: select count(鋼捲基本資料.厚度) as 數量, SUM(鋼捲基本資料.淨重) as 總重量 ,鋼捲來源廠商.來源名稱,鋼捲來源廠商.廠商代碼 from 鋼捲基本資料 inner join 鋼捲來源廠商 on 鋼捲來源廠商.廠商代碼 like '%'+ 鋼捲基本資料.鋼號 +'%' 結果: https://imgur.com/S8jTwZw 有看著基本資料表的時候,注意到它厚度的規則, 修改SQL語法後如下: select 鋼捲基本資料.厚度 , count(鋼捲基本資料.厚度) as 數量,Sum(鋼捲基本資料.淨重) as 總重量 from 鋼捲基本資料 group by 鋼捲基本資料.厚度 結果: https://imgur.com/Z5QWPsR 但這樣還是不對,得要合併廠商資料表才算對...... 有人可以教我是少了哪個步驟嗎? //-------------(更新) 抱歉我解出來了,group by的問題,因為他不是只有一個欄位資料會相同。 https://imgur.com/1XCnDRx -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.239.110.119 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1635081092.A.EFB.html ※ 編輯: jayzhuang (36.239.110.119 臺灣), 10/24/2021 21:26:02
lin1000: on 後面的like 左右交換 10/30 12:45
ken218: 我覺得 Join 用 left(鋼號,2) = 廠商代碼 比較直接 11/08 16:11
ken218: *直覺 11/08 17:09