כתיבת שאילתה

roy22222

New member
כתיבת שאילתה

הי
יש לי טבלה המכילה שתי עמודות.
שתיהן מכילות מספרים שונים. כאשר העמודה הראשונה המספרים אינם חוזרים על עצמם. זה לא K . ולא ברצף מספרי. אולם המספור כן עולה למעלה.
אם אני אבצע סיכום של העמודה השנייה אני אגיע לסכום של מספר אלפים.
אני רוצה לדעת מתי הסכום הוא למשל 1000 . כאשר אני סוכם אחד אחרי השנייה לפני סדר של העמודה הראשונה . ואז שהשאילתה תיתן לי את המספר המקביל שבו הגענו ל1000 בעמודה השנייה.

מצורפת דוגמה בקובץ אקסל.
אני רוצה את המספר 2626404
כיוון שהוא המספר שהכי קרוב ל1000 אולם הוא לא פחות מאלף בסיכום.

ברור לי שאני צריך לעשות פה איזה שהוא לופ. אבל אין לי רעיון איך לעשות את זה נכון.

כמובן שאני רוצה לעשות את זה בSQL ואל באקסל כמו שעשיתי את זה.

תודה רועי
 

AvidaEinav

New member
אם הבנתי נכון..

SELECT TOP 1 i
FROM ( SELECT i,b,(SELECT SUM(b) FROM #c c WHERE #c.i>= c.i) AS SumB
FROM #c)f
WHERE SumB > 1000
ORDER BY SumB
 

roy22222

New member
לא הצלחתי להעתיק להבין את הכתוב

אולי שאתה העתקת זה שינה משהו.
תודה בכל מקרה.
בדיוק פתרתי את הבעיה
יצרתי טבלה זמנית. הכוללת אינדקס.
שם יצרתי לופ שבודק את הסה"כ הכל חיבור עד שמגיע לנכון ונותן לי את הערך שאני צריך.
 

AvidaEinav

New member
תראה מה יותר עדיף לך

אני לא בדיוק יודע למה התכוונת עם "שם יצרתי לופ שבודק את הסה"כ הכל חיבור עד שמגיע לנכון ונותן לי את הערך שאני צריך" אבל אם עשית את זה עם WHILE וחבריו, כדאי שתשכול לשנות את זה לקובץ שצרפתי, כי העלות שלו די יקרה..
 
למעלה