В SQL использовать С где
SELECT reg.[regcor_id] ,c1.[cor_start] ,c1.[cor_end] ,c1.[cor_hours] ,reg.[total_sc] ,c1.[currency] ,cu.[currency] ,c1.[rate] , c1.[status] ,c1.[sem_id] ,s1.[semester] ,s1.[year] ,c1.[lev_id] ,l1.[level] ,reg.[stu_id] ,reg.[stu_reg_id] ,ISNULL(SUM(p1.[amount_sc]),0) AS 'paid sc' ,reg.[total_fc] ,ISNULL(SUM(p1.[amount_fc]),0) AS 'paid fc' FROM [DB_SchoolManager].[dbo].[tbl_stu_reg] AS reg INNER JOIN [DB_SchoolManager].[dbo].[tbl_courses] AS c1 on reg.regcor_id = c1.cor_id INNER JOIN [DB_SchoolManager].[dbo].[tbl_currencies] AS cu on c1.[currency] = cu.[currency_id] INNER JOIN [DB_SchoolManager].[dbo].[tbl_semester] AS s1 on c1.sem_id = s1.sem_id INNER JOIN [DB_SchoolManager].[dbo].[tbl_levels] AS l1 on s1.lev_id = l1.lev_id LEFT JOIN [DB_SchoolManager].[dbo].[tbl_incoming_payments] AS p1 on reg.stu_reg_id = p1.[stu_reg_id] WHERE reg.stu_id = '1' GROUP BY reg.[regcor_id] ,c1.[cor_start] ,c1.[cor_end] ,c1.[cor_hours] ,reg.[total_sc] ,c1.[currency] ,cu.[currency] ,c1.[rate],c1.[status] ,c1.[sem_id] ,s1.[semester] ,s1.[year] ,c1.[lev_id] ,l1.[level] ,reg.[stu_id] ,reg.[stu_reg_id] ,reg.[total_fc] HAVING ISNULL(SUM(reg.[total_fc]),0)> ISNULL(SUM(p1.[amount_fc]),0)
Что я уже пробовал:
Он все еще показывает первую строку, которая имеет paidfc=total_fc
regcor_id cor_start cor_end cor_hours total_sc currency currency rate status sem_id semester year lev_id level stu_id stu_reg_id paid sc total_fc paid fc 30 2019-01-01 2019-03-31 355 4974750.0000 2 USD 1507.5000 Opened 1 الفصل الدراسي الأول 2018-2019 1 الأول الثانوي 1 9 4950000.0000 3300.0000 3300.0000 31 2019-01-01 2019-03-31 60 2864250.0000 2 USD 1507.5000 Opened 2 الفصل الدراسي الأول 2018-2019 2 الثاني الثانوي 1 12 0.0000 1900.0000 0.0000 32 2019-04-06 2019-07-27 0 3000000.0000 1 LBP 1.0000 Opened 4 الفصل الدراسي الأول 2018-2019 3 الثالث الثانوي 1 13 0.0000 3000000.0000 0.0000
#realJSOP
Ваши столбцы total_fc и paid_fc кажутся строками, даже если вы делаете с ними математику...
Совет по кодированию - не ставьте пробелы, подчеркивания или другие специальные символы в имена таблиц или столбцов (также избегайте использования зарезервированных слов sql) - это имеет тенденцию отвлекать разработчика. В случае верблюд, а не, например, "TotalFC". Отсутствие специальных символов в именах столбцов также устраняет необходимость использования квадратных скобок вокруг их имен.
CHill60
Советы по получению ответов на этом форуме по вопросам связанным с SQL:
1 - упростите свой запрос до голых костей, которые продемонстрируют проблему (кстати, это часто помогает вам решить вашу собственную проблему). Удалите выходные столбцы, которые не помогают продемонстрировать проблему, удалите соединения, которые не помогают продемонстрировать проблему
2 - Расскажите нам структуру таблицы для всех таблиц в упрощенном запросе
3 - предоставьте примеры данных для всех таблиц в упрощенном запросе
4 - Покажите или объясните ваши ожидаемые результаты для предоставленных вами выборочных данных.