בעייה ביצירת QUERY

debdeb

New member
בעייה ביצירת QUERY ../images/Emo53.gif

יש לי טבלה שבה יש שתי שדות: 1.שדה תאריך 2.שדה מחירים. שדה התאריך מציג יום בשנה, ולכן המחיר שבשדה מחיר באותה הרשומה מציג מחיר עבור יום מסוים בשנה. לדוגמה: 1/9/01, $50. 2/9/01, $50. 3/9/01, $100...20/9/01, $50. הבעיה שלי היא שאני מעוניינת להציג ע"י QUERY ,רשומות כאשר בכל רשומה תוצג: תחילת התאריך, סוף התאריך והמחיר, עבור מחירים שונים. לדוגמה: רשומה #1 : 1/9/01 , 2/9/01 , $50. רשומה #2 : 3/9/01 , 19/9/01 , $100. רשומה #3 : 20/9/01 , 30/11/01 , $50. בתודה מראש, דב.
 

eli_leiba

New member
בעייה מעין זו מחייבת תוכנית מיוחדת

לא ניתן ע"י sql פשוט לפתור
 

גרי רשף

New member
פתרון לבעיה ב-Access וב-SQL Server

1. בבית אין לי SQL Server אז עשיתי את זה עם Access בעזרת שאילתה המתבססת על שאילתת עזר Query1. שאילתת עזר Query1 (המתבססת על טבלת Mehirim שבה יש שדה מפתח Taarih ושדה Mehir): SELECT A.Taarih AS Begin, (Select Min(Taarih)-1 From Mehirim As B Where B.Taarih>A.Taarih And B.Mehir<>A.Mehir) AS End, A.Mehir FROM Mehirim AS A יש להוסיף פסיק-נקודה בסוף (;) ולשמור בתור Query1. השאילתה המבוקשת: SELECT Min(Q.Begin) AS Hathala, Q.End As Sium, Q.Mehir FROM Query1 As Q GROUP BY Q.End, Q.Mehir (ORDER BY Min(Q.Begin גם כאן יש להוסיף פסיק נקודה בסוף. 2. ב-SQL Server ניתן לעשות הכל בשאילתה אחת כי הוא מאפשר תת-שאילתה ב-From (ה-Access מאפשר תת שאילתה ב-Select וב-Where אך לא ב-From). כעקרון יש להעתיק את השאילתה השניה ובמקום Query1 שמופיע ב-From שלה יש להכניס את השאילתה הראשונה (שאילתת העזר) בתוך סוגריים. אין להשתמש בפסיק נקודה (;). אין לי איך לבדוק אבל מקווה שזה עובד.
 
למעלה