הגעת למגבלת הצפייה למשתמשים שאינם רשומים באתר
  • נשמח אם תצטרפו לקהילה שלנו. הרשמה לאתר תקנה לכם את האפשרות לשאול שאלות ולהגיב לשרשורים באתר ללא כל עלות
  • טופס ההרשמה לאתר נמצא כאן למטה ולוקח פחות מ-30 שניות למלא אותו (כן, בדקנו עם סטופר 🤓)

עזרה עם SQL

  • פותח/ת השרשור talp
  • פורסם בתאריך

talp

משתמש משקיע
4,968
4,036
נק' מוניטין:
12,989
4,968
4,036
קאנטרי זכרון
היי אני אשמח לעזרה קטנה בתרגיל...
קצת קשה לי להסביר.. מי שלא הבין אני אנסה לכתוב נוסח שונה.

יש לי טבלה של "הודעות" ובתוכה יש לי שולח ומקבל.
אני צריך לספור את כמות ההודעות בין משתמש X למשתמש Y בלי להתחשב מי שלח למי אלא לכל ההודעות ביניהם.
למשל ע"פ הטבלה הראשונה אני צריך לחבר בין שורות 2 ו 5, וגם לחבר בין שורות 3,4

בתמונה ניתן לראות 2 תוצאות שאילתות.
בראשונה יצא לי דו"ח הודעות עם הכמות כפי שהוא בDB לאחר שספרתי אותם בעזרת שאילתה,
בדו"ח השני אני אמור להציג חיבור של כמות ההודעות בין 2 משתמשים לא משנה מי שלח למי (כלומר: סכום ההודעות שמשתמש X שלח לY + שמשתמש Y שלח לX)

ניסיתי להחליף בסדר בין SENDFROM ו SENDTO וככה לעשות GROUP BY ולקבל את התוצאה המלאה אבל לא הצלחתי.
בסופו של דבר הצלחתי לעשות UNION עם החלפה, התשובות שיוצאות לי שם נכונות אבל יש לי כפילות של: X,Y ו Y,X ואני צריך להציג זוג משתמשים פעם אחת (אין חשיבות מי יבוא ראשון).

יש עצות?

גשדשדשג.png



עריכה:
מי שלא הבין הנה דוגמא קטנה:

הודעה:1, שולח: X, מקבל: Y
הודעה:2, שולח: X, מקבל Y
הודעה: 3, שולח:Y, מקבל X
הודעה: 4, שולח Z, מקבל X

בסוף אני אמור לראות את זה ככה:
בנאדם1: X, בנאדם2: Y, כמות הודעות: 3
בנאדם1: Z, בנאדם2: X, כמות הודעות: 1
 
היי אני אשמח לעזרה קטנה בתרגיל...
קצת קשה לי להסביר.. מי שלא הבין אני אנסה לכתוב נוסח שונה.

יש לי טבלה של "הודעות" ובתוכה יש לי שולח ומקבל.
אני צריך לספור את כמות ההודעות בין משתמש X למשתמש Y בלי להתחשב מי שלח למי אלא לכל ההודעות ביניהם.
למשל ע"פ הטבלה הראשונה אני צריך לחבר בין שורות 2 ו 5, וגם לחבר בין שורות 3,4

בתמונה ניתן לראות 2 תוצאות שאילתות.
בראשונה יצא לי דו"ח הודעות עם הכמות כפי שהוא בDB לאחר שספרתי אותם בעזרת שאילתה,
בדו"ח השני אני אמור להציג חיבור של כמות ההודעות בין 2 משתמשים לא משנה מי שלח למי (כלומר: סכום ההודעות שמשתמש X שלח לY + שמשתמש Y שלח לX)

ניסיתי להחליף בסדר בין SENDFROM ו SENDTO וככה לעשות GROUP BY ולקבל את התוצאה המלאה אבל לא הצלחתי.
בסופו של דבר הצלחתי לעשות UNION עם החלפה, התשובות שיוצאות לי שם נכונות אבל יש לי כפילות של: X,Y ו Y,X ואני צריך להציג זוג משתמשים פעם אחת (אין חשיבות מי יבוא ראשון).

יש עצות?

צפה בקובץ המצורף 40459


עריכה:
מי שלא הבין הנה דוגמא קטנה:

הודעה:1, שולח: X, מקבל: Y
הודעה:2, שולח: X, מקבל Y
הודעה: 3, שולח:Y, מקבל X
הודעה: 4, שולח Z, מקבל X

בסוף אני אמור לראות את זה ככה:
בנאדם1: X, בנאדם2: Y, כמות הודעות: 3
בנאדם1: Z, בנאדם2: X, כמות הודעות: 1


אתה יכול להוסיף OR ב Where

ואז יהיה לך משהו בסגנון של:

SELECT count (*) FROM table_name WHERE (sendto = x AND sendfrom = y) OR (sendto = y AND sendfrom = x)




תראה כאן דוגמאות:
SQL: Combining the AND and OR Conditions
 
שימו לב! השרשור ישן: לא היו תגובות בשרשור מעל 90 יום.

ייתכן שהתוכן בשרשור כבר אינו רלוונטי ולכן עדיף לפתוח שרשור חדש.
Back
למעלה תחתית