[SQL ] 請問語法問題
我有一段語法,舉例如下
SELECT SUPNO.SUP_NO,SUPNO.NAM,PRDNO01.PRD_NO,PRDNO01.WHR
FROM PRDNO
LEFT OUTER JOIN SUPNO ON SUPNO.SUP_NO = CUSNO.SUP_NO
LEFT OUTER JOIN PRDNO01 ON PRDNO01.PRD_NO = PRDNO.PRD_NO
<查詢出約4,000筆資料>
然後去跑 While 迴圈
他每一筆資料還可以設定去找最近產品的售出日期
<SALNO01及SALNO02都為多筆細項紀錄,同樣的產品及庫位因出售單位不同會連續出現>
[WHERE 的" "為代入的查詢資料]
SELECT SALNO.DAT
FROM SALNO
LEFT OUTER JOIN SALNO01 ON SALNO01.SAL_NO = SALNO.SAL_NO
LEFT OUTER JOIN SALNO02 ON SALNO02.SAL_NO = SALNO.SAL_NO
WHERE ((SALNO01.PRD_NO = "PRDNO01.PRD_NO") AND
(SALNO01.WHR = "PRDNO01.WHR")) OR
((SALNO02.PRD_NO = "PRDNO01.PRD_NO") AND
(SALNO02.WHR = "PRDNO01.WHR"))
ORDER BY SALNO.DAT DESC
但這個語法查詢時,會有一萬筆的資料
四千筆每次都要去查那一萬筆
造成整個速度上的拖累
第二段SQL語法改寫後成
SELECT MAX(SALNO.DAT)
FROM SALNO
LEFT OUTER JOIN SALNO01 ON SALNO01.SAL_NO = SALNO.SAL_NO
LEFT OUTER JOIN SALNO02 ON SALNO02.SAL_NO = SALNO.SAL_NO
WHERE ((SALNO01.PRD_NO = "PRDNO01.PRD_NO") AND
(SALNO01.WHR = "PRDNO01.WHR")) OR
((SALNO02.PRD_NO = "PRDNO01.PRD_NO") AND
(SALNO02.WHR = "PRDNO01.WHR"))
我想了好久…一直想不出來怎麼把第三個及第一個這兩個語法合成一個
朋友叫我試試 UNION
我連怎麼U起來又不多出那四千筆資料的方法也還沒想到
有人可以提示或解說個方向嗎?
謝謝
※ 編輯: jkimo 來自: 118.171.91.144 (08/23 11:49)
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章