我需要在存儲過程中寫一個查詢,我錯過了下面的循環部分,否則插入和選擇都是正確的,請建議完成查詢或替代建議。帶循環的小查詢?
內傳遞的參數是@日,@ sectn只有
SELECT Name FROM tblProductionEffcyDetails where [email protected] and section [email protected]
我得到的名單(例如5名)
環路1:對於每一個名字,我需要做下面
循環2:
SELECT Tstdmin,TAvlbmin,@name=Name, @eid=Empid
FROM tblProductionEffcyDetails
WHERE (wDate = @date) AND (Section = @sectn) and Name = (1st name from the above query list)
@TSH = Tstdmin
(如果存在於數據庫賦一個值rther值應該不會花)
@TAT+=TAvlbmin
插入上述值到另一個表
INSERT INTO tblDailyReport (wdate, Section, Name, Empid, TAvlT, TstdH, DEfficiency)
VALUES (@date,@sectn,@name,@eid,@TAT,@TSH,(@TSH/@TAT))
名稱,EMPID從tblProductionEffcyDetails拍攝。
在loop2的上方,直到完成所有相同的名稱,一旦完成,它將轉到Loop1並完成所有名稱。
tblProductionEffcyDetails有許多名稱和重複名稱,所以都需要在循環中。最後,每個名稱(不重複)和總和細節將被插入到tblDailyReport。
前端〜C#Asp.Net
這個查詢是針對sql標準的,並且只能在mysql中運行,如果通過sql模式的完整組是**不啓用**。它在新版本的mysql中默認啓用。 – Shadow
@Shadow你是說當有一個group時,mysql不允許選擇常量,或者在這種情況下是參數? – juharr
@Shadow我讀到的關於'ONLY_FULL_GROUP_BY'的信息越多,我越容易相信你錯了,因爲除了不是列的參數以外,我確實擁有組中選擇的所有列,因此不受此規則約束。我也很不安,mysql實際上有一個模式,允許你選擇不在組中的列。 – juharr