0
日付の期間内にすべての予約を取得し、支払いテーブルに参加して合計支払い額を計算するクエリを作成しようとしています。 。お支払いがない予約を外している以外は、クエリは正常に機能しているようです。どんな助けでも大歓迎です。COALESCE(SUM()、0)GROUP BYのJOINEDテーブルの列にすべての結果が表示されない
SELECT
reservations.reservation_id ,
properties. NAME ,
properties.address1 AS prop_address ,
reservations.last_name ,
reservations.arrival_date ,
reservations.departure_date ,
reservations.date_created ,
reservations.contract_filename ,
reservations.contract_signed ,
reservation_payments.date_of_payment ,
(
SUM(
reservations.cleaning_fee + reservations.processing_fee + reservations.pool_heat_fee + reservations.special_fees + reservations.hoa_fees + reservations.rental_fee + reservations.taxes
) - COALESCE(
SUM(
reservation_payments.amount_paid
) ,
0
)
) AS sub_total ,
COALESCE(
SUM(
reservation_payments.amount_paid
) ,
0
) AS total_paid_to_date ,
reservations.balance_due_date ,
(
SELECT
GROUP_CONCAT(
DISTINCT user_meta.first_name
ORDER BY
associated_sales_staff.display_order ASC SEPARATOR ", "
)
FROM
associated_sales_staff
JOIN user_meta ON user_meta.user_id = associated_sales_staff.user_id
WHERE
(
associated_sales_staff.reservation_id = reservations.reservation_id
)
) AS sales_agents
FROM
reservations
JOIN properties ON properties.prop_id = reservations.property_id
JOIN reservation_payments ON reservation_payments.reservation_id = reservations.reservation_id
WHERE
properties.active_for_cleaning_schedule = 1
AND reservations.arrival_date >= "2017-05-15"
AND reservations.departure_date <= "2017-05-30"
GROUP BY
reservations.reservation_id
HAVING
(sub_total >= 1)
ORDER BY
total_paid_to_date ASC
'HAVING(sub_total ON reservation_paymentsを登録しよう
私はから更新します> = 1) 'のように思われる。 – Sammitch
HAVING(sub_total> = 1)が正しく動作しているようです。私はそれを削除すると、私はちょうど0のsub_totalを含むより多くの結果を取得します。私はtotal_paid_to_date = 0を含む結果を取得しようとしています。 –