SQL זיהוי רצף מספרים ברשומות
-
שלום רב
יש לי רשומות של שנות עבודה של לקוחות, אני צריך לאתר לקוחות שעבדו שנתיים ברצף באותו מקום, לכל שנה יש רשומה נפרדת (וזה מסיבה אחרת שלא ניכנס לזה כרגע) אני צריך לקבל רשימת לקוחות שעבדו שנתיים ברצף באותו מקום, עכשיו אם אני עושה גרופ בי ועושה מינימום ומקסימום של שנה, זה לא ממש עוזר לי כי ייתכן שהוא עבד בשנת 2010 ולאחר מכן בשנת 2012 באותו מקום, אבל דילג על 2011. איך אני מאתר את הרצף בSQL. כמובן אפשר לעשות לולאה, אבל זה רק בלית ברירה.
עדיף SQL "טהור" אם אפשר בלי טבלאות עזר.
המטרה היא תשלום פיצויים לעובדים, על פי החוק אחרי שנתיים מגיע לעובד פיצויים על פיטורין.
זה שלב ראשון בתוכנית, השלב השני זה לזהות את ההפסקה, כלומר רצף של שנתיים לפחות ולאחר מכן הפסקה, אבל דיה לצרה בשעתה, שאם אין רצף אי אתה בא לכלל הפסקה.תודה.
פורסם במקור בפורום CODE613 ב30/11/2014 14:43 (+02:00)
-
נפתר, תודה לארכיטקט :lol: :lol:
SELECT LAG(year) OVER (partition by WorkingPlaceID,IsAWoman ORDER BY WorkingPlaceID, year) PreviousYear, Year, ContactID ,WorkingPlaceID , IsAWoman, LEAD(year) OVER (partition by WorkingPlaceID,IsAWoman ORDER BY WorkingPlaceID, year) NextYear FROM ContactsWorkingPlaces
פורסם במקור בפורום CODE613 ב30/11/2014 15:01 (+02:00)