2017-04-21 65 views
0

ER diagram請求書の種類は

ER図は、私がすることができますように、会社名で販売請求書invoices.type =「販売」とinvoices.type =「購入」 を取得する必要があります

を装着されているテーブルからクエリを取得しますselect文 も販売中で参照し、購入の列

マイクエリ

SELECT jobs.id as jobID, 
     -- c.name AS Customer,jobs.job_no, 
      invoices.invoice_due_date, 
      jobs.id, 
       ((invoice_items.amount * invoice_items.quantity * invoice_items.exchange_rate)) as Ammount 
FROM invoices 
INNER JOIN `invoice_items` ON invoices.id = invoice_items.invoice_id 
INNER JOIN `jobs`    ON jobs.id = invoices.job_id 


-- INNER JOIN `company` as c ON c.company_id = jobs.company_id -- jobs and company. 


WHERE invoices.type = 'sales' 

-- new conditions 
    AND MONTH(jobs.created_at) = '3' 
    AND YEAR(jobs.created_at) = '2017' 
    AND jobs.status > 0 
    AND jobs.complete_job > 0 
    AND jobs.completed_at IS NOT NULL 

    AND invoice_items.deleted_at IS NULL 
GROUP BY jobs.job_no 
ORDER BY invoices.invoice_due_date DESC 
+1

MySQLまたはMS SQL Serverを使用していますか?関連していない製品にタグを付けないでください。 – jarlh

+1

質問を編集し、サンプルデータと必要な結果を提供してください。 –

+0

集計関数を使用しない場合のGROUP BYの理由GROUP BY句が指定されている場合、SELECTリストの各列参照は、グループ化列を特定するか、または集合関数の引数でなければなりません。 – jarlh

答えて

0

このUPDAをお試しくださいテッド...

SELECT jobs.id as jobID, 
    C.name AS Customer,jobs.job_no, 
    invoices.invoice_due_date, 
    jobs.id, 
    ((invoice_items.amount * invoice_items.quantity *invoice_items.exchange_rate)) as Ammount, 
    CASE invoices.type 
     WHEN 'sales' THEN 'S' 
    ELSE 'P' 
    END as trans_type 
FROM invoices 
INNER JOIN `invoice_items` ON invoices.id = invoice_items.invoice_id 
INNER JOIN `jobs`    ON jobs.id = invoices.job_id 
LEFT OUTER JOIN `company` as C ON C.company_id = jobs.company_id 
WHERE (invoices.type = 'sales' OR invoices.type = 'purchase') AND (MONTH(jobs.created_at) = '3') AND (YEAR(jobs.created_at) = '2017') AND (jobs.status > 0) AND (jobs.complete_job > 0) AND (jobs.completed_at IS NOT NULL) 
+0

返信ありがとうございます@chigs あまりにも多くの列を選択する必要があります 列は ジョブ番号| カスタマー(会社名)| 販売| 購入| GrossProfit – Peter

+0

私は知っている、私は条件を言及します。条件THN選択colnamsを書く.. – chigs

+0

サンプル・データ・リンクhttps://ufile.io/j9cnx だけでなく、ここでのダウンロードを選択 \t \t \t \tはジョブID、 \t \t \t \tとしてjobs.id選択される - \tお客様、jobs.job_no AS \t c.name、 \t \t \t \t \t \t \t invoices.invoice_due_date、\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t SUM((invoice_items.amount * invoice_items.quantity * invoice_items.exchange_rate))私は選択には何もcalcuteすることができますので、我々は、SELECT文での販売と購入種類を区別することができますどのようにAmmount – Peter

関連する問題