28-01-2009, 16:23
|
מנהל
|
|
חבר מתאריך: 26.07.08
הודעות: 6,473
|
|
אגיד לך מדוע זה לא עבד:
כאשר אתה מריץ שאילתא כפי שהרצת (שהיא עם פיסקת LIKE), סביר מאוד להניח שיוחזרו אליך מספר רב של תוצאות. מספיק שתהיה יותר מתוצאה אחת על מנת שהשאילתא לא תעבוד בגלל שאתה מנסה להשוות תוצאה של שאילתא שהיא כמו מערך אל ערך יחיד (זה לא עובד \ לא תקין).
לכן, במקום לכתוב:
קוד:
WHERE t2 = (SELECT ... )
תנסה לכתוב:
קוד:
WHERE t2 IN (SELECT ... )
פיסקת ה-IN מבצעת פעולת השוואה בין t2 לכל ערך יחיד שהוחזר מהשאילתא, כאשר בין כל פעולות ההשוואה יש תנאי OR לוגי.
אני מקוה שזה יעבוד לך ככה באקסס, כי ב-mysql זה עובד בצורה הזו.
|