none
complex query RRS feed

  • שאלה

  • שלום לכולם ,

    יש  לי את הנתונים הבאים :

    create table logs  (inside datetime,outside datetime)
    
    insert logs (inside,outside)
    
    select '2014-07-15 00:30:00.000','2014-07-15 00:35:00.000'
    union all
    select '2014-07-15 00:38:00.000','2014-07-15 00:40:00.000'
    

    אני מעוניין למצוא רווחים בין השעות הנתונות  ביום נתון כלומר שהפלט יהיה כזה:

    2014-07-15 00:00:00.000 	2014-07-15 00:30:00.000
    2014-07-15 00:30:00.000 	2014-07-15 00:35:00.000
    2014-07-15 00:35:00.000	        2014-07-15 00:38:00.000
    2014-07-15 00:38:00.000	        2014-07-15 00:40:00.000
    2014-07-15 00:40:00.000	        2014-07-16 00:00:00.000

    אשמח לרעיונות לפיתרון

    תודה שרון


    יום ראשון 03 אוגוסט 2014 08:29

תשובות

  • עם איזה גרסה של שרת אתה עובד?

    יש דרכים שונות בגרסאות שונות


    [Personal Site] [Blog] [Facebook]signature

    • סומן כתשובה על-ידי sharonof יום חמישי 07 אוגוסט 2014 14:07
    יום ראשון 03 אוגוסט 2014 11:06
    מנחה דיון
  • הי שרון,

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

    הנה פרק שלם שאיציק כתב על הנושא הזה עם הרבה פתרונות אפשריים: http://www.manning.com/nielsen/SampleChapter5.pdf.

    בהצלחה!

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    Madeira - SQL Server Services
    http://www.madeirasql.com

    • הוצע כתשובה על-ידי pituachMVP, Editor יום חמישי 07 אוגוסט 2014 07:42
    • סומן כתשובה על-ידי sharonof יום חמישי 07 אוגוסט 2014 14:08
    יום רביעי 06 אוגוסט 2014 06:36
    מנחה דיון
  • זה מאמר מאוד ישן משנת 2010 שלא לוקח בחשבון אפשרויות שיש בשרתים החדשים. בלי קשר, זה מאמר נהדר.

    אני הייתי מתחיל קודם בבדיקה של גרסת השרת במקרים כאלו, לפני שהייתי ניגש לבחירת הפתרון, למרות שלעיתים מגיעים לאותו פתרון (השיפורים יכולים להיות משמעותיים לפעמים).

    אופציות שימוש בפונקציות שלא היו בתקופת כתיבת המאמר כמו LAG ן LEAD למשל פותחים לנו דלתות חדשות בעולם ה GAPs & ISLANDS


    [Personal Site] [Blog] [Facebook]signature

    • נערך על-ידי pituachMVP, Editor יום רביעי 06 אוגוסט 2014 23:36
    • סומן כתשובה על-ידי sharonof יום חמישי 07 אוגוסט 2014 14:08
    יום רביעי 06 אוגוסט 2014 23:28
    מנחה דיון

כל התגובות

  • עם איזה גרסה של שרת אתה עובד?

    יש דרכים שונות בגרסאות שונות


    [Personal Site] [Blog] [Facebook]signature

    • סומן כתשובה על-ידי sharonof יום חמישי 07 אוגוסט 2014 14:07
    יום ראשון 03 אוגוסט 2014 11:06
    מנחה דיון
  • הי שרון,

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

    הנה פרק שלם שאיציק כתב על הנושא הזה עם הרבה פתרונות אפשריים: http://www.manning.com/nielsen/SampleChapter5.pdf.

    בהצלחה!

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    Madeira - SQL Server Services
    http://www.madeirasql.com

    • הוצע כתשובה על-ידי pituachMVP, Editor יום חמישי 07 אוגוסט 2014 07:42
    • סומן כתשובה על-ידי sharonof יום חמישי 07 אוגוסט 2014 14:08
    יום רביעי 06 אוגוסט 2014 06:36
    מנחה דיון
  • זה מאמר מאוד ישן משנת 2010 שלא לוקח בחשבון אפשרויות שיש בשרתים החדשים. בלי קשר, זה מאמר נהדר.

    אני הייתי מתחיל קודם בבדיקה של גרסת השרת במקרים כאלו, לפני שהייתי ניגש לבחירת הפתרון, למרות שלעיתים מגיעים לאותו פתרון (השיפורים יכולים להיות משמעותיים לפעמים).

    אופציות שימוש בפונקציות שלא היו בתקופת כתיבת המאמר כמו LAG ן LEAD למשל פותחים לנו דלתות חדשות בעולם ה GAPs & ISLANDS


    [Personal Site] [Blog] [Facebook]signature

    • נערך על-ידי pituachMVP, Editor יום רביעי 06 אוגוסט 2014 23:36
    • סומן כתשובה על-ידי sharonof יום חמישי 07 אוגוסט 2014 14:08
    יום רביעי 06 אוגוסט 2014 23:28
    מנחה דיון