שלח תשובה

זירת השאלות

425
צפיות
7
תשובות

בעיה עם SQL

,‏ 17 בדצמבר, 2004

אני מנסה לעשות חלוקת עמודים יש לי את השאילתא הזאת:

SELECT [id], title, subtitle, body, [date], section_id
FROM articale
WHERE section_id<>'9' and section_id<>'8' order by date desc;

שהיא שולפת לי את הכל ואני רוצה לבחור רק את ה-10 הראשונים וזה לא הולך לי מהא אני יכול לעשות?

תגיות:

7 תשובות

  1. זהר פלד הגיב:

    SELECT TOP 10 Columns…
    למה לא להשתמש ב TOP?
    (אם אתה משתמש ב mySql אז צריך להשתמש ב Limit).

  2. אני אנסה לחדד
    אני רוצה לבחור את ה-10 הראשונים שהם לא ה-10 הראשונים…

  3. זהר פלד הגיב:

    יש על זה מאמר איפשהו באתר, לא?
    אם אני זוכר נכון, זה משהו כמו

    SELECT TOP 20 columns
    FROM table
    WHERE orderColumn NOT IN (SELECT TOP 10 orderColumn
    FROM table ORDER BY orderColumn)
    ORDER BY orderColumn

  4. ניר טייב הגיב:

    אני פשוט צריך ללמוד לא לענות לך
    ממילא אתה לא קורא את מה שאני כותב אז למה לי לבזבז את זמני ?
    http://www.tapuz.co.il/tapuzforum/main/Viewmsg.asp?forum=130&msgid=44216143

  5. ניר כמה דברים
    1. ראיתי את מה שכתבתה אבל אני העדפתי לעבור שאילתא (אם אתה זוכר את השאילתא של LIKE בפורום מסדי נתונים?)
    2. אני מנסה לעבוד עם שאילתא אחרת שלא עובדת השיטה הראיתה לי אם שאני לא מייסם אותה נכון

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

    SELECT [id], title, subtitle, body, [date], section_id
    FROM articale
    WHERE section_id<>'9' and section_id<>'8' order by date desc;

    וכשאני משתמש ב-art ככה:

    SELECT TOP 10 [id], title, subtitle, body, [date], section_id
    FROM art
    WHERE section_id not in (select top 10 section_id from art);

    זה לא עובד לי אלא נותן לי רק 4 רשומות

  6. ניר טייב הגיב:

    אני לא רואה סיבה שזה לא יעבוד.
    תראה את השאילתא שניסית.

שלח תשובה