ABA


"שאלה בSQL וASP"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #10885 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10885
Fly2High

   20:04   14.09.06   
אל הפורום  
  שאלה בSQL וASP  
 
   שלום,
נכון שיש בSQL את האופציה Select TOP 10 From....? (משו כזה),
אז רציתי לדעת אם יש אופציה לבחור מהעשירי ועד העשרים, ומהעשרים עד השלושים.

כמו מערכת מסרים שמציגה את הכל בעמודים שונים (כל 10 מסרים בעמוד).

מישהו יכול לכתוב לי את הניסוח של זה בבקשה? וגם את הניסוח של TOP 10.
תודה,
שחר.


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

  האשכול     מחבר     תאריך כתיבה     מספר  
  תעשה עם SELECT TOP 10 וחלוקה לעמודות. FireAngel 14.09.06 20:19 1
     האמת שממש לא הבנתי |: Fly2High 14.09.06 20:32 2
         אפשר לעשות בשיטה הזו : FireAngel 14.09.06 22:39 3
             אתה מתכוון עמודים או עמודות? Fly2High 15.09.06 06:40 4
                 חלוקה לעמודים. FireAngel 15.09.06 07:15 5
                     טוב.. למרות שלא הבנתי.. תודה :] XD Fly2High 15.09.06 12:18 6
                         מה בדיוק לא מובן? Sn00py  15.09.06 12:21 7
                             תשתמש ב LIMIT 10,20 X boy 17.09.06 20:12 8
  יאי, עכשיו בעיה חדשה XD Fly2High 18.09.06 16:53 9
     מישהו? =\ זה מאוד יעזור לי.. תודה... Fly2High 19.09.06 07:30 10
         לפי דעתי הORDER צריך להיות בסוף bmaorlo  19.09.06 10:29 11
         הסיבה שזה לא עובד מאוד פשוטה: Ice Cold  19.09.06 11:50 12
             חחח איזה תחמן =]] FireAngel 19.09.06 14:44 13
             שמישהו יתן לי כאפה ושתהיה חזקה Fly2High 19.09.06 16:02 14
                 איפה נתקעת ? :) FireAngel 19.09.06 16:12 15
                     בלהבין מה זה עושה |: Fly2High 19.09.06 16:18 16
                         ASC זה ברירת המחדל - סידור של שדה מהקטן לגדול. FireAngel 19.09.06 16:27 17
                             אוקיי... Fly2High 19.09.06 17:37 18
                                 תיקון... Fly2High 19.09.06 18:40 19
                                     אני לא רואה בשום מקום בקוד שלי שרשמתי את המילה EXISTS Ice Cold  20.09.06 09:17 20
                                         כי השרת נתן לי ארור Fly2High 20.09.06 16:11 21

       
FireAngel

   20:19   14.09.06   
אל הפורום  
  1. תעשה עם SELECT TOP 10 וחלוקה לעמודות.  
בתגובה להודעה מספר 0
 
   ערכתי לאחרונה בתאריך 14.09.06 בשעה 20:22 בברכה, FireAngel
 
הסבר:
http://www.webmaster.org.il/article.asp?id=172

אין לי הסבר בעברית ל-ASP אבל את הלוגיקה ואת הרעיון אתה תבין.


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

   20:32   14.09.06   
אל הפורום  
  2. האמת שממש לא הבנתי |:  
בתגובה להודעה מספר 1
 
   אין איזה select X to Y ?


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

   22:39   14.09.06   
אל הפורום  
  3. אפשר לעשות בשיטה הזו :  
בתגובה להודעה מספר 2
 
  

SELECT * FROM tableName ORDER BY columnName DESC LIMIT 10,20

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


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

   06:40   15.09.06   
אל הפורום  
  4. אתה מתכוון עמודים או עמודות?  
בתגובה להודעה מספר 3
 
  


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

   07:15   15.09.06   
אל הפורום  
  5. חלוקה לעמודים.  
בתגובה להודעה מספר 4
 
  


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

   12:18   15.09.06   
אל הפורום  
  6. טוב.. למרות שלא הבנתי.. תודה :] XD  
בתגובה להודעה מספר 5
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Sn00py 
חבר מתאריך 1.8.02
2954 הודעות
   12:21   15.09.06   
אל הפורום  
  7. מה בדיוק לא מובן?  
בתגובה להודעה מספר 6
 
  

\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser


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

   20:12   17.09.06   
אל הפורום  
  8. תשתמש ב LIMIT 10,20  
בתגובה להודעה מספר 7
 
   כמו שאמרו לך זה אמור לעבוד


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

   16:53   18.09.06   
אל הפורום  
  9. יאי, עכשיו בעיה חדשה XD  
בתגובה להודעה מספר 0
 
   רשמתי כך:

set check = con.execute("select * from tech_meser WHERE Username ='" & user & "' order by ID DESC LIMIT 1, 10")

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


Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

Syntax error in ORDER BY clause.

/FCRM/mailbox.asp, line 11


מחקתי את הLIMIT וזה עבד מצויין.
מישהו? :(
תודה,
שחר.


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

   07:30   19.09.06   
אל הפורום  
  10. מישהו? =\ זה מאוד יעזור לי.. תודה...  
בתגובה להודעה מספר 9
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
bmaorlo 
חבר מתאריך 13.4.03
4770 הודעות
   10:29   19.09.06   
אל הפורום  
  11. לפי דעתי הORDER צריך להיות בסוף  
בתגובה להודעה מספר 10
 
  

set check = con.execute("select * from tech_meser WHERE Username ='" & user & "' LIMIT 1, 10 order by ID DESC")

נסה ככה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   11:50   19.09.06   
אל הפורום  
  12. הסיבה שזה לא עובד מאוד פשוטה:  
בתגובה להודעה מספר 10
 
אין LIMIT ב-SQL SERVER (אני מניח שאתה עובד עם SQL SERVER, כי אתה עם ASP)...

כדי לפתור את הבעיה, יש דרך "לתחמן" את ה-SQL SERVER כדי להגיע למטרה:
אכן להשתמש ב-TOP:

5 תוצאות ראשונות:


SELECT TOP 5 * FROM table ORDER BY id ASC

5 תוצאות לאחר מכן:


SELECT TOP 5 * FROM table
WHERE id NOT IN(SELECT TOP 5 * FROM table ORDER BY id ASC)
ORDER BY id ASC

זה יביא 5 רשומות שלא מופיעות ב-5 הראשונות. ככה תוכל ליישם מנגנון שיתאים לצרכים שלך

בהצלחה


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

   14:44   19.09.06   
אל הפורום  
  13. חחח איזה תחמן =]]  
בתגובה להודעה מספר 12
 
  


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

   16:02   19.09.06   
אל הפורום  
  14. שמישהו יתן לי כאפה ושתהיה חזקה  
בתגובה להודעה מספר 12
 
   כי לא הבנתי כלום =\


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

   16:12   19.09.06   
אל הפורום  
  15. איפה נתקעת ? :)  
בתגובה להודעה מספר 14
 
  


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

   16:18   19.09.06   
אל הפורום  
  16. בלהבין מה זה עושה |:  
בתגובה להודעה מספר 15
 
   מה זה ASC, מה הוא עשה שם בעצם |:


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

   16:27   19.09.06   
אל הפורום  
  17. ASC זה ברירת המחדל - סידור של שדה מהקטן לגדול.  
בתגובה להודעה מספר 16
 
   DESC זהו סידור הפוך -> סידור הפוך של שדה (מהגדול לקטן).


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

   17:37   19.09.06   
אל הפורום  
  18. אוקיי...  
בתגובה להודעה מספר 17
 
   אני לא כל כך מבין בזה.. אבל יש סיכוי שתוכל לעשות לי טובה קטנה?
איך מהקוד שIce Cold רשם, אני עושה את הדבר שרשום לי בהודעה הקודמת שלי?
שיבחר את הנתונים מהסוף להתחלה, 10 כל פעם רק מהמשתמש הנ"ל:
 (Username = '" & user & "')

תודה.. שחר.


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

   18:40   19.09.06   
אל הפורום  
  19. תיקון...  
בתגובה להודעה מספר 18
 
   הצלחתי להבין אחרי עבודה קשה מה זה עושה
עכשיו..
רשמתי את השורה כך:


set check = con.execute("Select TOP 10 * from tech_meser WHERE Username ='" & user & "' AND ID NOT EXISTS in (SELECT TOP 10 * FROM tech_meser ORDER BY id desc)")

ואיך לא, הופיע לי הארור הבא:


Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

Syntax error in query expression 'Username ='Fly2High' AND ID NOT EXISTS in (SELECT TOP 10 * FROM tech_meser ORDER BY id desc)'.

/FCRM/mailbox.asp, line 11

מישהו יכול לסייע..?
תודה,
שחר.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק
   09:17   20.09.06   
אל הפורום  
  20. אני לא רואה בשום מקום בקוד שלי שרשמתי את המילה EXISTS  
בתגובה להודעה מספר 19
 
אז למה שמת אותה ?


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

   16:11   20.09.06   
אל הפורום  
  21. כי השרת נתן לי ארור  
בתגובה להודעה מספר 20
 
   משהו שכתוב שם you shuld use the EXISTS function...
הוא לא זיהה את ה-IN..
אין לי מושג מה לעשות |:
שחר.


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

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

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



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