![]() |
# 1 |
חבר על
|
SQL האם השאילתא חוקית
זה המאגר שלי
BOOKS (serial-no,title,ISBN) AUTHOR (name,ISBN) אני מנסה לקבל את כל הכותרות, ISBN, והשם של המחבר שיש במאגר 'ספרים' רק העתק אחד SELECT title,AUTHOR.ISBN,name FROM books,authors WHERE books.isbn = author.isbn AND IN ( SELECT isbn FROM books GROUP BY isbn HAVING count(*) = 1 ( תודה מראש,
__________________
ליאור |
![]() |
![]() |
# 2 |
משתמש - היכל התהילה
|
ליאור לא כל כך הבנתי מה אתה מנסה לעשות.
יכול להיות שמה שאתה מחפש זה distinct. בכל אופן, תעשה join ולא from שתי טבלאות, הרבה יותר קריא והoptimizer של mysql עובד יותר טוב ככה. |
![]() |
![]() |
# 3 |
חבר על
|
שי, זה ב SQL כללי, ולא מדובר עדיין ב MySql ולכן אני משתמש עם from
לגבי ה distinct זה מספק פשוט שהשורות לא יחזרו על עצמן אבל זה לא בדיוק מה שאני צריך אני שואל מבחינת חוקיות אם השאילתא חוקית מה שמטריד אותי ואני לא בטוח לגבי זה הנושא של where column = column AND IN ... החלק הזה חוקי ?
__________________
ליאור |
![]() |
![]() |
# 4 |
חבר מתקדם
|
לא
צריך לתת לו איזשהוא שם של טור לפני הIN אם אתה רוצה לבדוק רק אם קיים צריך להשתמש בEXSISTS ורק טיפ בכללי תמיד תשתמש בQUALIFIERS בJOIN זה יוצר איזשהוא סדר בראש |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|