בעיה בSQL

shanor

New member
מממ...

הקטע של רבעון כמעט אותו דבר:
SELECT M.Name, count(*) as COUNTM FROM Madicine M,Prescription P,Visit V WHERE V.VisitID=P.VisitID and P.MedID=M.MedicineID and year(V.Date)=2007 group by M.Name HAVING COUNTM <= ALL (SELECT COUNT(*) FROM Madicine M1,Prescription P1,Visit V1 WHERE V1.VisitID=P1.VisitID and P1.MedID=M1.MedicineID and Quarter(V1.Date)=2 GROUP BY M1.Name)​
אני מנסה להבין מה אתה רוצה להשיג בשאילתה הזו, ומשום מה נראה לי כאילו אתה חוזר על אותו דבר פעמיים.... שלוף מקבץ נתונים ושים אותו כאן, תן הסבר מה בדיוק אתה מנסה לעשות, נראה לי שיש דרך פשוטה יותר מאשר לספור את התת שאילתא ואז להציג את כל המקומות שקטנים מהתוצאה...בטח לאור העובדה שאתה סופר בדיוק את אותן הטבלאות ובאותה הצורה בשאילתא ובתת שאילתא.... -=שנאור=-
 

rs1984

New member
השאילתא אמורה להחזיר את

התרופות שהיו בשימוש מינמלי בשנת 2007, (אין קשר לריבעון -בטעות העתקתי זאת לשאילתא הלא נכונה)
. האם יש דרך יותר מהירה מזאת?אשמח לשמוע.
 

shanor

New member
מממ...

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