בעיה עם תת שאילתה בSQL
שלום לכולם,
ניסיתי לבנות שאילתה קצת מורכבת ב SQL SERVER, אך לא ממש הצלחתי להריץ את השאילתה,
קצת רקע: יש לי 2 טבלאות, 1 - נתונים כלליים, 2 - נתונים כספיים על שנה שעברה (מחולק לפי חודשים),
ברצוני להוציא נתונים על מספר לקוח לפי הפרמטרים הבאים: A - יתרה בחודש דצמבר, B - סך דמי ניהול לכל שנה שעברה.
להלן השאילתא שבניתי:
select
fundmain.gen_bankaccountnumber as 'מספר לקוח,
sum(mfpreviousyear.gen_managementfee) as 'דמי ניהול
from
FilteredGen_fundmain as fundmain
left outer join
FilteredGen_mfPreviousyear as mfpreviousyear on (fundmain.gen_fundmainid = mfpreviousyear.gen_fundnumber)
where
fundmain.gen_bankaccountnumber in ('1111111111') and
fundmain.gen_bankaccountnumber in
(select
fundmain.gen_bankaccountnumber as 'מספר לקוח',
fundmain.gen_customeridnumber as 'מספר זיהוי',
fundmain.gen_customername as 'שם לקוח',
fundmain.gen_fundcreationdate as 'תאריך הצטרפות',
fundmain.gen_banknamename as 'שם בנק',
fundmain.gen_brokernumbername as 'מספר סוכן',
mfpreviousyear.gen_balance as 'יתרת לקוח'
from
FilteredGen_fundmain as fundmain
left outer join
FilteredGen_mfPreviousyear as mfpreviousyear on (fundmain.gen_fundmainid = mfpreviousyear.gen_fundnumber)
where
mfpreviousyear.gen_month = 12)
GROUP BY fundmain.gen_bankaccountnumber
וזאת ההודעת שגיאה שאני מקבל:
Msg 116, Level 16, State 1, Line 1
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
אשמח לדעת מה אני עושה לא טוב,
תודה מראש לכל העוזרים
שלום לכולם,
ניסיתי לבנות שאילתה קצת מורכבת ב SQL SERVER, אך לא ממש הצלחתי להריץ את השאילתה,
קצת רקע: יש לי 2 טבלאות, 1 - נתונים כלליים, 2 - נתונים כספיים על שנה שעברה (מחולק לפי חודשים),
ברצוני להוציא נתונים על מספר לקוח לפי הפרמטרים הבאים: A - יתרה בחודש דצמבר, B - סך דמי ניהול לכל שנה שעברה.
להלן השאילתא שבניתי:
select
fundmain.gen_bankaccountnumber as 'מספר לקוח,
sum(mfpreviousyear.gen_managementfee) as 'דמי ניהול
from
FilteredGen_fundmain as fundmain
left outer join
FilteredGen_mfPreviousyear as mfpreviousyear on (fundmain.gen_fundmainid = mfpreviousyear.gen_fundnumber)
where
fundmain.gen_bankaccountnumber in ('1111111111') and
fundmain.gen_bankaccountnumber in
(select
fundmain.gen_bankaccountnumber as 'מספר לקוח',
fundmain.gen_customeridnumber as 'מספר זיהוי',
fundmain.gen_customername as 'שם לקוח',
fundmain.gen_fundcreationdate as 'תאריך הצטרפות',
fundmain.gen_banknamename as 'שם בנק',
fundmain.gen_brokernumbername as 'מספר סוכן',
mfpreviousyear.gen_balance as 'יתרת לקוח'
from
FilteredGen_fundmain as fundmain
left outer join
FilteredGen_mfPreviousyear as mfpreviousyear on (fundmain.gen_fundmainid = mfpreviousyear.gen_fundnumber)
where
mfpreviousyear.gen_month = 12)
GROUP BY fundmain.gen_bankaccountnumber
וזאת ההודעת שגיאה שאני מקבל:
Msg 116, Level 16, State 1, Line 1
Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
אשמח לדעת מה אני עושה לא טוב,
תודה מראש לכל העוזרים