ABA


"צריך עזרה ב SQL"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15580 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15580
פאביו ג'וניור

   21:46   24.11.09   
אל הפורום  
  צריך עזרה ב SQL  
 
   יש לי טבלה עם הפרמטרים הבאים:
שם מפעיל
מספר טיסה
זמן טיסה
תאריך טיסה
ואני צריך לכתוב שאילתה שתציג לי את שם המפעיל ותאריך הטיסה עבור כל מפעיל אבל רק עבור הטיסה האחרונה שהייתה מעלה לשעה..תודה לעוזרים!


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  מכתב ronen333  24.11.09 21:54 1
     זה מתאים לפה זה בסדר... Nesher  24.11.09 22:33 2
  מכתב Nesher  24.11.09 22:35 3
     מכתב פאביו ג'וניור 24.11.09 22:41 4
         אז ככה: ronen333  24.11.09 22:57 6
             זה לא יעבוד, שמשון פישטונה 24.11.09 23:00 7
                 למה זה משנה? ronen333  24.11.09 23:10 10
  מכתב שמשון פישטונה 24.11.09 22:57 5
     אבל פה הוא יראה לי את כל הטיסות של כל מפעיל פאביו ג'וניור 24.11.09 23:01 8
         אז תעשה ככה שמשון פישטונה 24.11.09 23:04 9
             מה ייתן לי האורדר ביי התאריך המקסימלי ומה זה אומר פאביו ג'וניור 24.11.09 23:11 11
                 תעשה עם TOP 1 ronen333  24.11.09 23:13 12
                     זה הכי קרוב אבל עכשיו זה מביא לי את השורה הרצויה פאביו ג'וניור 24.11.09 23:19 14
                         תנסה מה שרשמתי בתגובה 10 ronen333  24.11.09 23:22 15
                             זה בדיוק מה שרשום שם תתייחס לNAME כמו CODE MAFIL פאביו ג'וניור 24.11.09 23:25 16
                                 מצטער לא ברור לי מה הבעיה.. ronen333  24.11.09 23:27 17
                                     עשיתי בדיוק כמו שכתבת אבל הבעייה היא שזה מציג לי פאביו ג'וניור 24.11.09 23:29 18
                                         זה מה שרצית לא? ronen333  24.11.09 23:31 19
                                             את האחרון אבל לכל מפעיל בנפרד.. פאביו ג'וניור 24.11.09 23:32 20
                                                 אההההההההה סבבה ronen333  24.11.09 23:37 21
                                                     טוב תודה בכל מקרה לך ולבחור השני אני כבר יעבוד על זה פאביו ג'וניור 24.11.09 23:41 22
                                                         בהצלחה ronen333  24.11.09 23:42 23
                 מכתב שמשון פישטונה 24.11.09 23:13 13

       
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   21:54   24.11.09   
אל הפורום  
  1. מכתב  
בתגובה להודעה מספר 0
 
   לא ברור לי מה זה אומר "שהייתה מעלה לשעה"..

נ.ב- טעית בפורום.. פנה לפורום בניית אתרים. יותר קשור לשם...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   22:33   24.11.09   
אל הפורום  
  2. זה מתאים לפה זה בסדר...  
בתגובה להודעה מספר 1
 


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק
   22:35   24.11.09   
אל הפורום  
  3. מכתב  
בתגובה להודעה מספר 0
 
תפרט יותר לגבי העמודות
כי אם "זמן טיסה" הוא מספרי שמייצג את סה"כ זמן בדקות אז השאליתה תהיה בצורה אחת
ואם זה שדה מסוג זמן עם פורמט מסויים זה יהיה אחרת
בכל מקרה, גם מומלץ שזה יהיה מוגדר באנגלית ולא בעברית
ותראה גם מה הצלחת עד עכשיו או איזה כיוון ניסית ונוכל לעזור


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פאביו ג'וניור

   22:41   24.11.09   
אל הפורום  
  4. מכתב  
בתגובה להודעה מספר 3
 
   ערכים
code_mafil (NUM קוד מפעיל )
date ( תאריך ,שדה מסוג תאריך)
time ( שדה מסוג date/time)
code_giha( מפתח ראשי ..לא קריטי אבל מספר)
עכשיו לכל מפעיל יכולות להיות כמה גיחות ואני צריך שהוא יעשה לי טבלה עם שם המפעיל ואת התאריך של הגיחה האחרונה שלו שהייתה יותר משעה זה הכל..
ואני בחיים לא התעסקתי רק ב SQL תמיד נעזרתי בC# או ב JS ככה שבאמת אין לי מושג איך אני כותב את כל המשפט רק בSQL


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   22:57   24.11.09   
אל הפורום  
  6. אז ככה:  
בתגובה להודעה מספר 4
 
  

select code_mafil,date from table where HOUR(time)>1
order by code_mafil desc

בהנחה שהזמן שאתה מכניס לשדה שם זה הזמן שלקח לו הטיסה..
כמובן שאתה צריך להחליף את TABLE בטבלה שלך...


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

   23:00   24.11.09   
אל הפורום  
  7. זה לא יעבוד,  
בתגובה להודעה מספר 6
 
   אתה מניח שיש יותר משעה אחת(ולא מתייחס לדקות), אבל אתה צריך גם להתחשב בדקות, השאילתא שכתבתי מתחת מתחשבת בהכול.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   23:10   24.11.09   
אל הפורום  
  10. למה זה משנה?  
בתגובה להודעה מספר 7
 
   ערכתי לאחרונה בתאריך 24.11.09 בשעה 23:15 בברכה, ronen333
 
אם כותבים את זה אז כותבים את זה בשעות, דקות, שניות.
אתה רק רוצה לדעת אם הוא עבר את השעה.
זה לא שירשמו שם 68 דקות... זה יהיה שעה ו8 דקות.

אה והנה תיקון לזה שזה צריך לקחת רק אחד.


select top 1 code_mafil,date from table where HOUR(time)>1
order by desc


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

   22:57   24.11.09   
אל הפורום  
  5. מכתב  
בתגובה להודעה מספר 0
 
  

SELECT `name`,`date` FROM `t` WHERE (HOUR(`time`) * 60 + MINUTE(`time`)) > 60

משהו כזה אמור לעבוד, אני מניח שאתה משתמש בmysql.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פאביו ג'וניור

   23:01   24.11.09   
אל הפורום  
  8. אבל פה הוא יראה לי את כל הטיסות של כל מפעיל  
בתגובה להודעה מספר 5
 
   שהוא טס יותר משעה ואני צריך רק את האחרונה


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

   23:04   24.11.09   
אל הפורום  
  9. אז תעשה ככה  
בתגובה להודעה מספר 8
 
  

SELECT `name`,`date` FROM `t` WHERE (HOUR(`time`) * 60 + MINUTE(`time`)) > 60 ORDER BY MAX(`date`) LIMIT 1



                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פאביו ג'וניור

   23:11   24.11.09   
אל הפורום  
  11. מה ייתן לי האורדר ביי התאריך המקסימלי ומה זה אומר  
בתגובה להודעה מספר 9
 
   לימיט 1.. וניסיתי וזה סתם נותן שגיאות ככה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   23:13   24.11.09   
אל הפורום  
  12. תעשה עם TOP 1  
בתגובה להודעה מספר 11
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פאביו ג'וניור

   23:19   24.11.09   
אל הפורום  
  14. זה הכי קרוב אבל עכשיו זה מביא לי את השורה הרצויה  
בתגובה להודעה מספר 12
 
   רק עבור המפעיל ה1 אבל בטבלה יש לי כרגע 2 מפעילים(ויהיהיו יותר) והוא לא מביא לי את הנתונים עליהם

SELECT TOP 1 Table2.name, Table2.date, Table2.time
FROM Table2
WHERE (((Table2.time)>#12/30/1899 3:0:0#))
ORDER BY Table2.date DESC;

זה מה שרשום כרגע


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   23:22   24.11.09   
אל הפורום  
  15. תנסה מה שרשמתי בתגובה 10  
בתגובה להודעה מספר 14
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פאביו ג'וניור

   23:25   24.11.09   
אל הפורום  
  16. זה בדיוק מה שרשום שם תתייחס לNAME כמו CODE MAFIL  
בתגובה להודעה מספר 15
 
   והWHERE זה על אותו עיקרון


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   23:27   24.11.09   
אל הפורום  
  17. מצטער לא ברור לי מה הבעיה..  
בתגובה להודעה מספר 16
 
   רושם לך שגיאה? לא מציג לך נתון כמו שצריך? תפרט יותר.. קשה להבין אותך שאתה נוהג לקצר בכל מה שאתה אומר.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פאביו ג'וניור

   23:29   24.11.09   
אל הפורום  
  18. עשיתי בדיוק כמו שכתבת אבל הבעייה היא שזה מציג לי  
בתגובה להודעה מספר 17
 
   ערכתי לאחרונה בתאריך 24.11.09 בשעה 23:32 בברכה, פאביו ג'וניור
 
בפלט משום מה את הטיסה האחרונה רק של מפעיל 1..ומתעלם משאר המפעילים (שבטלה שעשיתי יש להם טיסות מעל שעה )
לדעתי בפקודה שהבאת לי הוא סתם מחפש את השורה הראשונה בטבלה שהטיסה בה היא יותר משעה ומציג אותה..אני צריך כזה רק שיראה לי את הטיס הראשונה בטבלה לכל מפעיל:\


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   23:31   24.11.09   
אל הפורום  
  19. זה מה שרצית לא?  
בתגובה להודעה מספר 18
 
   אמרת "האחרון". כלומר אחד בלבד. אם אתה רוצה שזה יציג את כולם תעיף ת'TOP.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פאביו ג'וניור

   23:32   24.11.09   
אל הפורום  
  20. את האחרון אבל לכל מפעיל בנפרד..  
בתגובה להודעה מספר 19
 
   כרגע זה מציג רק את הטיסה האחרונה בכל הטבלה שהייתה ליותר משעה.. אבל אני צריך שזה יסנן את זה לפי מפעילים


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   23:37   24.11.09   
אל הפורום  
  21. אההההההההה סבבה  
בתגובה להודעה מספר 20
 
   אז אתה צריך GROUP BY. שזה בעצם יקבץ לפי הקוד..

select code_mafil,date from table where HOUR(time)>1
group by code_mafil
order by desc

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

אם לא עובד תן לי עוד דקה לחשוב על זה נראה לי צריך להשתמש בSUB QUERY.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
פאביו ג'וניור

   23:41   24.11.09   
אל הפורום  
  22. טוב תודה בכל מקרה לך ולבחור השני אני כבר יעבוד על זה  
בתגובה להודעה מספר 21
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   23:42   24.11.09   
אל הפורום  
  23. בהצלחה  
בתגובה להודעה מספר 22
 
  


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

   23:13   24.11.09   
אל הפורום  
  13. מכתב  
בתגובה להודעה מספר 11
 
   איזה שגיאה אתה מקבל?

וLIMIT 1 אומר תן לי רק תוצאה אחת.
ORDER BY MAX(`date`) אומר תסדר לי את הרשומות מהתאריך החדש ביותר לישן ביותר.

מה שאומר בסופו של דבר לקבל את הרשומה הכי עדכנית.

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net