Упражнение 59 (подсказки и решения) |
||
В решении 2.2.1 не учитывается тот факт, что возможна ситуация, когда на некотором пункте приема может быть только приход, но не быть расхода, то есть в таблице Outcome_o может не быть ни одной строки, относящейся к данному пункту приема. С точки зрения предметной области эта ситуация возможна для вновь открытого пункта приема, когда факт приема денежных средств уже зафиксирован, а факт расхода — еще нет. Тогда выражение в предложении SELECT
для такой точки приема станет эквивалентно выражению
что даст в результате NULL, а не ss.inc, как это должно быть по условиям задачи. Исправить решение очень легко, переписав ошибочное выражение в виде
что соответствует стандарту, или с помощью функции Cистема управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL Server ISNULL:
Перейти к обсуждению задачи 59 |