View Single Post
ישן 10-12-10, 16:31   # 2
Itay
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 35
הודעות: 564

Itay לא מחובר  

ציטוט:
נכתב במקור על ידי RS324 צפה בהודעה
יש דרך טיפה יותר טובה

אם אתה שומר STRING של ID פשוט תפריד בניהם עם ,(פסיק)

ואז בשאילת תחפש WHERE FIND_IN_SET
וזה יימצא לך בדיוק מה שאתה מחפש....
ניסיתי לעשות את השיאלתה הזאת:
קוד:
"SELECT * FROM TST WHERE FIND_IN_SET(ContIds, '1,2,3,4,5,6,7,8,9,10,11,12')"
יש לי בטבלה 2 שורות:
1. 1,2,4,7,8,3,11,
2. 1,2,3,4,7,5,6,10,8,9,11,12,

וזה לא הציג לי כלום, יש מצב שלא עשיתי נכון את השאילתה?
ראיתי בתיעוד של mySQL שזה מחפש רק בעמודות מסוג SET אבל אני לא מצליח להחליף את ה-TEXT ל-SET כשהערכים האלה נמצאים שם..

עריכה:
גם כשהחלפתי ל-SET בשביל לבדוק
קוד:
set('1','2','3','4','5','6','7','8','9','10','11','12','13','14')
והשורות עכשיו הן
1. 1,3,5,7
2. 1,2,3,4,5,6,7,8,9,10,11,12,13,14

זה עדיין לא עובד לי, גם כשאני מציין בדיוק את הערכים של שורה 1

עוד עריכה:
אם זה יעזור, אני צריך נגיד דרך להשתמש ב-LIKE אבל הפוך, כלומר משהו כזה:
קוד:
WHERE '|1||2||3||4||5||6||7||8||9|' LIKE '%ContIDs%'
כשה-ContIDs יהיה מופרד, נגיד הוא מכיל 1,3,5 אז זה יצא משהו כזה:
קוד:
WHERE '|1||2||3||4||5||6||7||8||9|' LIKE '%|1|%' AND LIKE '%|3|%' AND LIKE '%|5|%'

Last edited by Itay; 10-12-10 at 17:36..
  Reply With Quote