問題があります。無date_dueと数ヶ月は返しません、以外mySQLは条件付きの複数のテーブルに結合しました
Invoice_Payment、請求書、クライアント、およびカレンダー
基本的に、私は、うまく機能以下のクエリを、持っている:私は4つのテーブルを持っています。 I.Eだけdate_dueの月が返されます。
注:カレンダーテーブルには、毎年の毎日の一覧が表示されます。これは、含まれている単一COLコールDATE_FIELD
データベース:http://oberto.co.nz/jInvoice.txt
予想される出力:9月が返されないか
month total
August 5
September 0
October 196
November 205
December 214
January 229
お知らせ:私の現在のクエリは、以下のようなものを返すのだろうか? LEFTはInvoice_Payments.date_paid = Calendar.date_field ONカレンダーを登録しよう:テーブルInvoice_Paymentは、私は私のようなもので、カレンダーのテーブルを結合し、左結合を使用するように持っていると思う何date_due記録
を持っていないので、それはです。しかし私は運がありません。
SELECT MONTHNAME(Invoice_Payments.date_paid) as month, SUM(Invoice_Payments.paid_amount) AS total
FROM Invoice, Client, Invoice_Payments
WHERE Client.registered_id = 1
AND Client.id = Invoice.client_id
And Invoice.id = Invoice_Payments.invoice_id
AND date_paid IS NOT NULL
GROUP BY YEAR(Invoice_Payments.date_paid), MONTH(Invoice_Payments.date_paid)
何か助けに感謝します。
date_dueは、請求書テーブルまたはinvoice_paymentテーブルにあります?? – shankhan
「date_due」をフィルタリングするクエリのどこにも表示されません。それらの行が返されていないことは確かですか? –
**なぜ、** calendarのテーブルへの参加が残っていますか? –