דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. עזרה בתכנון

עזרה בתכנון

מתוזמן נעוץ נעול הועבר ארכיון code613m
14 פוסטים 6 כותבים 821 צפיות 6 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • S מנותק
    S מנותק
    shsh654
    כתב ב נערך לאחרונה על ידי
    #3

    לכאורה דרך המלך היא 2 טבלאות
    טבלת חדרים;
    טבלת תאריכים; עם השדות חדר, תאריך (פרטי המזמין וכו' כמובן אבל לא על זה אנחנו מדברים)
    בעת הזמנה של חדר מוסיף שורה בטבלת תאריכים וכך גם בודק האם פנוי
    ואידך זיל גמור.

    שוין, עד ש'שלח'תי ארכיטקט הספיק להרחיב הרבה יותר.
    בהצלחה.

    פורסם במקור בפורום CODE613 ב21/12/2015 21:44 (+02:00)

    תגובה 1 תגובה אחרונה
    2
    • י מנותק
      י מנותק
      יאן גולד
      כתב ב נערך לאחרונה על ידי
      #4

      תודה רבה, תשובות מאירות עיניים

      אין כמו האתר הזה

      נ.ב. חבל שקשה להגיע אליו בלי כתובת מדוייקת

      נסו:

      http://search.clearch.org/?direct_search=2&reason=2&uid=260615&q=CODE613M

      ותראו את התוצאה

      פורסם במקור בפורום CODE613 ב21/12/2015 22:45 (+02:00)

      תגובה 1 תגובה אחרונה
      0
      • A מנותק
        A מנותק
        avr416
        כתב ב נערך לאחרונה על ידי
        #5

        @יאן גולד

        נ.ב. חבל שקשה להגיע אליו בלי כתובת מדוייקת

        נסו:

        http://search.clearch.org/?direct_search=2&reason=2&uid=260615&q=CODE613M

        ותראו את התוצאה

        זה בגלל שאתה לא מחפש בגוגל אלא בclearch מנוע החיפוש של אינטרנט רימון/אתרוג...

        ואכן - אין על האתר שלנו יש כאן חברים נפלאים עם ידע נרחב והרבה רצון ושמחה לעזור בכל שאלה / תקלה ובעיה.
        אשרינו שזכינו!!!

        פורסם במקור בפורום CODE613 ב21/12/2015 22:56 (+02:00)

        תגובה 1 תגובה אחרונה
        2
        • dovidD מנותק
          dovidD מנותק
          dovid
          ניהול
          כתב ב נערך לאחרונה על ידי
          #6

          @יאן גולד

          תודה רבה, תשובות מאירות עיניים

          אין כמו האתר הזה

          נ.ב. חבל שקשה להגיע אליו בלי כתובת מדוייקת

          נסו:

          http://search.clearch.org/?direct_search=2&reason=2&uid=260615&q=CODE613M

          ותראו את התוצאה

          https://www.google.com/search?q=code613m

          פורסם במקור בפורום CODE613 ב22/12/2015 12:49 (+02:00)

          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
          תגובה 1 תגובה אחרונה
          1
          • י מנותק
            י מנותק
            יאן גולד
            כתב ב נערך לאחרונה על ידי
            #7

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

            עשיתי שאילתא שנותנת לי טבלה עם תאריך כניסה ויציאה של כל ההזמנות לפי מספר החדר בשם DATES

            כמו כן יש לי סטור פרוג'יסר (בשם GETDATESׂ) שמקבל שני תאריכים ומחזיר את מה שבין לבין, כדי לדעת את כל הטווח שהחדר תפוס
            השאלה שלי איך לקחת את התאריכים שקיבלתי בטבלה DATES ולשלוח אותם כפרמטרים לסטור פרוסיגר
            האמת שאני מקבל כמה שורות בטבלה איך אני ניגש שורה אחרי שורה?

            הערך במשתנים לצורך הדגמה בלבד

            with dates as(
            select date_in,date_out from reservations 
            where rooms=3)
            select * from dates
            
            declare @in datetime = '20151112'
            declare @out datetime = '20151114'
            
            
            exec getDates @start=@in ,@end=@out
            

            פורסם במקור בפורום CODE613 ב22/12/2015 21:13 (+02:00)

            תגובה 1 תגובה אחרונה
            0
            • S מנותק
              S מנותק
              softs
              כתב ב נערך לאחרונה על ידי
              #8

              וואקשה

              ----Create Demo DB
              --Rooms Table
              DECLARE @Rooms AS TABLE(ID INT, Name NVARCHAR(MAX))
              INSERT INTO @Rooms VALUES(1,'Room A'),(2,'Room B')
              --Reservations Table
              DECLARE @Reservations AS TABLE(ID INT, CheckInDate DATE, CheckOutDate DATE, RoomID INT)
              INSERT INTO @Reservations VALUES
              (100,'2015-01-03','2015-01-09',1),(102,'2015-01-18','2015-02-09',1),(103,'2015-01-01','2015-01-17',2)
              
              DECLARE @Seasons AS TABLE(ID INT, Name NVARCHAR(MAX), StartDate DATE, EndDate DATE)
              INSERT INTO @Seasons VALUES
              (1,N'Winter','2015-01-01','2015-04-15'),(2,N'Spring','2015-06-18','2015-06-25')
              
              ; ----End of Demo DB
              
              ---- occupancy query (could be used as a view)
              
              -- Generate Calendar Table
              WITH Cal (CalendarDay) AS(
              SELECT CAST('2015-01-01' AS DATE) AS DateDay -- Calendar Start Date
              UNION ALL
              SELECT DATEADD(DAY,1,CalendarDay) FROM Cal WHERE DATEADD(DAY,1,CalendarDay) <  '2016-01-01' -- Calendar End Date
              )
              
              SELECT CalendarDay,Rooms.ID AS RoomID, Rooms.Name AS RoomName,Season.Name AS SeasonName,
              Res.ID AS ReservationID, CheckInDate, CheckOutDate,
              CASE WHEN Res.ID IS NULL THEN 1 ELSE 0 END IsRoomAvailable
              FROM Cal
              CROSS JOIN @Rooms AS Rooms -- create rooms calendar table (cartesian product)
              INNER JOIN @Seasons AS Season ON Cal.CalendarDay BETWEEN Season.StartDate AND Season.EndDate
              LEFT JOIN @Reservations AS Res ON Rooms.ID = Res.RoomID AND CalendarDay BETWEEN CheckInDate AND CheckOutDate -- join the reservations
              
              OPTION (MAXRECURSION 32767) -- allow recursion
              

              פורסם במקור בפורום CODE613 ב22/12/2015 23:45 (+02:00)

              תגובה 1 תגובה אחרונה
              3
              • א מנותק
                א מנותק
                ארכיטקט
                כתב ב נערך לאחרונה על ידי
                #9

                למה לא כתבת לפי התקן?:

                CROSS JOIN @Rooms AS Rooms --ON 0=0
                

                פורסם במקור בפורום CODE613 ב23/12/2015 01:33 (+02:00)

                אידיאולוגיות גדולות נכנסות למטחנה של עולם המעשה ויוצאות ממנו בפירורים (ווינסטון צ'רצ'יל, סתם סתם, זה שלי)

                תגובה 1 תגובה אחרונה
                0
                • י מנותק
                  י מנותק
                  יאן גולד
                  כתב ב נערך לאחרונה על ידי
                  #10

                  softs אתה גדול!!

                  לימדת אותי הרבה בכמה שורות האלה

                  פורסם במקור בפורום CODE613 ב23/12/2015 23:27 (+02:00)

                  תגובה 1 תגובה אחרונה
                  0
                  • S מנותק
                    S מנותק
                    softs
                    כתב ב נערך לאחרונה על ידי
                    #11

                    @יאן גולד

                    לימדת אותי הרבה בכמה שורות האלה

                    אני תמיד מתלבט אם לכתוב תשובות ברמה גבוהה ולאתגר את השואל בלהבין או לכתוב שווה לכל נפש
                    פה הלכתי על רמה גבוהה יחסית - משתני טבלה, שאילתה ריקורסיבית ללוח שנה, שלושה סוגי JOIN שונים באותה שאילתה ו JOIN לפי טווחי תאריכים
                    ואני שמח על הפידבק שמראה שהחלטתי נכון

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

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

                    פורסם במקור בפורום CODE613 ב25/12/2015 00:05 (+02:00)

                    תגובה 1 תגובה אחרונה
                    2
                    • י מנותק
                      י מנותק
                      יאן גולד
                      כתב ב נערך לאחרונה על ידי
                      #12

                      איפה אני מסמן שנפתר

                      פורסם במקור בפורום CODE613 ב25/12/2015 08:25 (+02:00)

                      תגובה 1 תגובה אחרונה
                      0
                      • A מנותק
                        A מנותק
                        avr416
                        כתב ב נערך לאחרונה על ידי
                        #13

                        @יאן גולד

                        איפה אני מסמן שנפתר

                        בכל הודעה יש לך מצד שמאל למעלה (סמוך לשם המגיב) כמה אפשרויות של סימונים: אצבע למעלה - כדי לומר תודה למי שכתב לך את התשובה. כמו"כ זה מבטא הרבה פעמים הסכמה עם הדברים וכדו', כמו "אהבתי". ולפותח השרשור יש אפשרות לסמן "וי" שזה מוסיף סימן וי ירוק לתשובה שלחצת עליה, וגם לכל השרשור ברשימת הנושאים. כך אפשר לדעת מבחוץ שהנושא נפתר, ואפשר גם לדעת איזו תגובה פתרה אותו.
                        בהצלחה!

                        @softs

                        אני תמיד מתלבט אם לכתוב תשובות ברמה גבוהה ולאתגר את השואל בלהבין או לכתוב שווה לכל נפש

                        softs - כל הכבוד לך על כל ההשקעה בפורום בעניית תשובות!! תמשיך לאתגר אותנו..

                        פורסם במקור בפורום CODE613 ב25/12/2015 09:13 (+02:00)

                        תגובה 1 תגובה אחרונה
                        4
                        • א מנותק
                          א מנותק
                          ארכיטקט
                          כתב ב נערך לאחרונה על ידי
                          #14

                          @softs

                          שאילתה ריקורסיבית ללוח שנה

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

                          פורסם במקור בפורום CODE613 ב25/12/2015 12:57 (+02:00)

                          אידיאולוגיות גדולות נכנסות למטחנה של עולם המעשה ויוצאות ממנו בפירורים (ווינסטון צ'רצ'יל, סתם סתם, זה שלי)

                          תגובה 1 תגובה אחרונה
                          2
                          תגובה
                          • תגובה כנושא
                          התחברו כדי לפרסם תגובה
                          • מהישן לחדש
                          • מהחדש לישן
                          • הכי הרבה הצבעות


                          בא תתחבר לדף היומי!
                          • התחברות

                          • אין לך חשבון עדיין? הרשמה

                          • התחברו או הירשמו כדי לחפש.
                          • פוסט ראשון
                            פוסט אחרון
                          0
                          • דף הבית
                          • קטגוריות
                          • פוסטים אחרונים
                          • משתמשים
                          • חיפוש
                          • חוקי הפורום