MySQL

N i X

New member
MySQL

שלום ;) השאלה לא קשורה לPHP. שאלתי אותה בפורום "בסיסי נתונים", אבל החלטתי לנסות גם כאן ;) יש לי 2 טבלאות, בטבלה א' יש לי כמה שדות, שנים מהם: שם משתמש, וtimestamp. בטבלה ב' יש לי כמה שדות, שאחד מהם הוא timestamp כמו בטבלה הקודמת. אני רוצה לנסח שאילתה, כדאי שהתשובה אלייה תהיה כמה שורות יש בטבלה ב', שבהם הtimestamp הוא אותו הtimestamp כמו בטבלה א' לשם משתמש מסויים. אפילו אני מתקשה להבין מה לעזעזל רשמתי, אז בוא ננסה דוגמא: טבלה א':
(username | timestamp | data) bla | 123456 | sdg sdg sdg sdfgh bla | 654321 | wwww www ddd waa | 235254 | sdgsdg www | 567788 | sdgsasaaa​
בטבלה א', כל timestamp מופיעה _רק_ פעם אחת. טבלה ב':
(timestamp | other_data) 123456 | bla bla 123456 | fgjkdfj 123456 | klsdhg 888899 | gsdgsdg 12340 | sdgsdg 654321 | sdgsg​
בטבלה ב', אותו הtimestamp יכול להופיעה כמה פעמים. השאילתה שאני צריך, חייבת להחזיר 4, לשם משתמש bla, בגלל שהtimestamp 123456 מופיע 3 פעמים בטבלה ב', והtimestamp 654321 פעם אחת, ולשנייהם שם המשתמש הוא bla. מקווה שמישהו הבין את השאלה ;) אני עובד עם PHP וMySQL אם זה משנה משהו... תודה מראש לכל העונים ;)
 

shanor

New member
מממ...

אני מזהיר מראש, אני לא בבית כרגע ואין לי כאן MYSQL להריץ ולנסות אבל הנה משהו:
select T2.TimeStamp from T2 left join T1 on T2.TimeStamp=T1.TimeStamp where T1.UserName='bla'​
תנסה את זה. כמובן אם רוצים עוד אפשר גם להוסיף COUNT לשאילתה או לחלופין לעשות משהו כמו MYSQL_NUM_ROWS... זהו, שוב, לא בדקתי לכן יכול להיות שאני מפספס משהו, זה ממש על חצי רגל. שנאור.
 

N i X

New member
יש לך אולי זה כתבה

על join? כי זה לא ממש ברור לי מהreference של MySQL...
 

MasterNir

New member
חחחחח

לקח לי איזה חמש דקות להבין למה התכוונת .... חחחח :)
 

shanor

New member
מממ....

כתבה על זה, לא אין לי... כן אני יודע גם אני ממש אבל ממש הסתבכתי עם זה בהתחלה, אבל רק מנסיון שוב ושוב (ולא מעט תיסכול) בסוף זה כל כך פשוט, היום אני מוצא את עצמי כותב שאילתות עם כמה וכמה JOIN בתוך אותה שאילתה לגבי כמה טבלאות שונות... חשוב רק שתדע מתי לשים את ה- JOIN ומתי להשתמש ב- WHERE ולא ב-JOIN. תקרא על זה במניואל של MYSQL בפרק שמדבר על JOIN ו- LEFT JOIN. אם תצטרך עוד הסבר, דבר איתי, ואני אשתדל להסביר. בברכה שנאור.
 
למעלה