בעיה בSQL

rs1984

New member
בעיה בSQL

יש לי שדה DATE -תאריך כיצד ניתן לרשום בתוך where ,תנאי שיתן לי קבוצת רשומות לפי חודש ,ולפי רבעון. אני יודע שבאקסס יש month ו datepart האם זה גם ב SQL? תודה
 

גרי רשף

New member
כן

הפונקציות Monthו-DatePart קיימות גם ב-SQL (אולי עם כמה הבדלים קטנים). מתכנת חכם נמנע מלתת לשדות שמות כמו Date או Time ושאר שמות שמורים או חשודים ככאלו.
 

rs1984

New member
אם ארצה למשל 02/07 איך ניתן לרשום?

הוא לא נותן לי תוצאות לתאריך הבא: month(V.Date)=02/07 תודה
 

גרי רשף

New member
נסה כך..

הפקודה
Convert(NVarChar(20),MyDate,103)​
אמורה לתת את התאריך בפורמט 01/05/2007, ומתוכו יש לשלוף את התווים שבמקומות 4-6 (חודש ולוכסן) ו- 9-10 (שנה דו ספרתית).
 

rs1984

New member
אני לא חושב שהבנת את שאלתי ,אני לא הבנתי .

ארצה לקבל את הרופאים בחודש 02/2007 ,השאלה היא איך עושים זאת? כי אם ארשום month(V.DATE)=02 זה נותן לי את כל החודשים של פברואר בכל השנים תודה.
 

rs1984

New member
רשמתי כך וזה לא עובד למה?

datepart(2,V1.Date) datepart(Quarter,V1.Date)=2 datepart(Q,V1.Date)=2​
אלו כל האפשרויות שניסיתי וכל פעם זה נתן לי שגיאה,מדוע? תודה
 

גרי רשף

New member
לא כך

Select *,datepart(Quarter,V1.[Date]) Rivon From Tavla V1​
ובמקום Tavla כתוב את שם הטבלה בה נמצא השדה Date.
 

rs1984

New member
הוספתי את השאילתא למטה יש את הריבעון

ELECT 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 datepart(Quarter,V1.[Date])=2 GROUP BY M1.Name)​
 

גרי רשף

New member
כתבת את זה נכון

הניסוח של החלק של ה-having אינו ברור לי, ואולי זה מקור הבעייה ולא הביטוי עם הרבעון.
 

rs1984

New member
הערה

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[Date])=2 GROUP BY M1.Name)' at line 7​
 

rs1984

New member
יש לי בעיה בתיכנון אולי תוכל לייעץ לי

איך אני יכול למצוא את הרופא השני עם הכי פחות ביקורים,השאלה איך אפשר למצוא את השני?
 
למעלה