SQL - איך מוצאים 2 רשומות לאותו ID

progitm

משתמש סופר מקצוען
מוזיקה ונגינה
יש לי שדה שהוא הID, המפתח
ובאותה טבלה יש כמה מוצרים שהוא קנה (כל מוצר רשומה אחרת ומשויך לאותו ID)
אני רוצה שיעלו לי רק הרשומות עם הID
שיש להם גם מוצר א' וגם מוצר ב'

איך אני עושה את זה ?

כלומר אותו ID
וגם
יש לו רשומה עם מוצר א'
וגם
יש לו רשומה עם מוצר ב'
 

רפ

משתמש סופר מקצוען
תפרטי אולי קצת יותר:
כמה טבלאות יש לך - אחת או שתיים?
מהם השדות המופיעים בכל טבלה?
 

כפתור ופרח

משתמש רשום
צילום מקצועי
תעשי GROUP BY על הID אם תנאי שהמוצר הוא או א' או ב'

איפה שהCOUNT גדול מ1

עריכה: רואה ש@חגי פאהן כתב זאת בצורה אסקיואלית ברורה יותר.
 

progitm

משתמש סופר מקצוען
מוזיקה ונגינה
תפרטי אולי קצת יותר:
כמה טבלאות יש לך - אחת או שתיים?
מהם השדות המופיעים בכל טבלה?
בטבלה אחת
(בכלליות זה הרעיון של השדות )
ID , קוד מוצר
ID קוד מוצר
 

רפ

משתמש סופר מקצוען
האם מוצר א' או מוצר ב' יכולים להופיע בטבלה יותר מפעם אחת?
 

רפ

משתמש סופר מקצוען
את יכולה לשים כאן צילום מסך של הטבלה כולל הנתונים?
יהיה לנו יותר קל לעזור לך.
 

progitm

משתמש סופר מקצוען
מוזיקה ונגינה
את יכולה לשים כאן צילום מסך של הטבלה כולל הנתונים?
יהיה לנו יותר קל לעזור לך.
אני לא יכולה זה ברשת סגורה אחרת
אני אנסה לפי מה שזרקו לי כאן מקווה שאצליח...
 

אמא של תמר

משתמש צעיר
קחי בחשבון שIN הוא כבד מאוד
הוא גם מוגבל במספר התוצאות שהוא יכול להכיל
לא יודעת מה גודל וסוג המערכת שלכם
 

חגי פאהן

משתמש סופר מקוצען
מנוי פרימיום
בוגר/תלמיד פרוג
עיצוב גרפי
עימוד ספרים
שימי לב שאם יש לך פעמיים מוצר א', ומוצר ב' לא מופיע אפילו פעם אחת, זה עדיין יופיע לך בתוצאה.
האם זה מה שאת רוצה?
נכון, אם מוצר מופיע כמה פעמים לאותו id צריך לשכלל את השליפה. יש כמה אפשרויות, זו אחת מהן. אולי יש משהו יותר יעיל:
קוד:
select t.id,
       sum(case t.mutsar when 'milk' then 1 else 0 end),
       sum(case t.mutsar when 'cheese' then 1 else 0 end),
from shopping t
where t.mutsar in('milk', 'cheese')
group by t.id
having sum(case t.mutsar when 'milk' then 1 else 0 end) > 0
   and sum(case t.mutsar when 'cheese' then 1 else 0 end) > 0
ואז אפילו אפשר להוריד לגמרי את ה-where.
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קיט ב'

ט בַּמֶּה יְזַכֶּה נַּעַר אֶת אָרְחוֹ לִשְׁמֹר כִּדְבָרֶךָ:י בְּכָל לִבִּי דְרַשְׁתִּיךָ אַל תַּשְׁגֵּנִי מִמִּצְוֹתֶיךָ:יא בְּלִבִּי צָפַנְתִּי אִמְרָתֶךָ לְמַעַן לֹא אֶחֱטָא לָךְ:יב בָּרוּךְ אַתָּה יְהוָה לַמְּדֵנִי חֻקֶּיךָ:יג בִּשְׂפָתַי סִפַּרְתִּי כֹּל מִשְׁפְּטֵי פִיךָ:יד בְּדֶרֶךְ עֵדְוֹתֶיךָ שַׂשְׂתִּי כְּעַל כָּל הוֹן:טו בְּפִקֻּדֶיךָ אָשִׂיחָה וְאַבִּיטָה אֹרְחֹתֶיךָ:טז בְּחֻקֹּתֶיךָ אֶשְׁתַּעֲשָׁע לֹא אֶשְׁכַּח דְּבָרֶךָ:
נקרא  15  פעמים

לוח מודעות

למעלה