結果.........
NO. Number_ID QTY
1 S11011-010 942
2 S11011-030 513
3 S11011-040 489
4 S11011-050 489
5 S11011-060 416
麻煩請教了....感謝...
SQL Server? 這是我想到的第一個方法....
<pre class="c" name="code">SELECT LEFT(Number_ID, LEN(Number_ID)-1) Number_ID, SUM(QTY) QTY
INTO #T1
FROM TEST_A
GROUP BY LEFT(Number_ID, LEN(Number_ID)-1)
SELECT IDENTITY(INT, 1, 1) NO, *
INTO #T2
FROM #T1
SELECT * FROM #T2
應該有更實用的做法....再想想看, 想到再來補充
另外, 如果是Oracle, 就有不同的解法, 請您以後發問時同時說明資料庫系統是那一種...
用Group By Number_ID也可以....
simon 大 :
拍謝 !
我是mysql + asp.net , 好像不能使用耶
謝謝你的指導
喔...MySQL....那當然不能用, 我是寫給SQL Server用的....等一下, 我再把MySQL的語法給你
超感謝simon ....^^
MySQL 沒有LEN(), 要改用LENGTH().
來吧...MySQL的我的想法....
<pre class="c" name="code">CREATE TEMPORARY TABLE SUM_A
(ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, Number_ID CHAR(9), QTY INT);
INSERT INTO SUM_A (Number_ID, QTY)
SELECT LEFT(Number_ID, LENGTH(Number_ID)-1) Number_ID, SUM(QTY) QTY
FROM TEST_A
GROUP BY LEFT(Number_ID, LENGTH(Number_ID)-1);
SELECT * FROM SUM_A;
怎麼放到ASP.NET, 就要請您考慮一下了...要注意最後要DROP TEMPORARY TABLE SUM_A, 以免佔用Buffer
我想過用一行SQL來表現, 但一直卡在第一個序號欄位, 就變通一下了, 或許有版大能提供更簡潔的做法...
simon 拍謝 , 我的序號是最後用gridview 插進去的 , 所以本身sql 抓出來是沒有那一行的資料 , 所以說可否用一行來run 呢 ...!!
就乾心耶.....^^
simon 大 , 剛小弟用一下sql :
SELECT LEFT(Number_ID , LENGTH(Number_ID)-1),sum(qty) FROM test WHERE lotid like 'S%' GROUP BY Number_ID order by Number_ID;
NO.Number_ID QTY
1 S11011-01 460
2 S11011-01 482
3 S11011-03 513
4 S11011-04 489
5 S11011-05 489
6 S11011-06 130
7 S11011-06 286
重覆的部份要如何加總呢 ?
sorry , 剛試了以下 , 可行了 ....太棒了
SELECT LEFT(number_id, LENGTH(number_id)-1) as number_id,sum(qty) FROM cim.mfg_wip_wafer m WHERE number_id like 'S%' GROUP BY LEFT(number_id, LENGTH(number_id)-1) order by number_id;
原來取字串要下兩次......
simon真是高手....超感恩....謝了
雖說SQL語法有標準, 但其實各家SQL有各自的巧妙
MySQL的Group BY要完全符合SELECT中的方式, 但SQL SERVER只要用欄位名稱就行了..
能夠幫您解決問題就好.....記得要結案, 不要成了呆題...
sundayjoe提到:
用一行來run
那就只要這一行...
<pre class="c" name="code">SELECT LEFT(Number_ID, LENGTH(Number_ID)-1) Number_ID, SUM(QTY) QTY
FROM TEST_A
GROUP BY LEFT(Number_ID, LENGTH(Number_ID)-1);
sundayjoe提到:
高手
還有比我更好幾層樓的....
sorry , 再問個笨問題,, 我要去那理結案呀 ~
simon 大,你太客氣囉 , 剛接觸此地 , 請別見怪了 ...
不知可否加入您msn呢...就乾心ㄋㄟ
my msn , sunday_joe@hotmail.com