1
我有問題與我的查詢。我有4個用戶,潛在客戶,潛在客戶,項目。所有這些都有關聯Laravel查詢主鍵結果。
oneToMany relation喜歡用戶有很多前景,潛在客戶有很多潛在客戶,潛在客戶有很多項目。我的項目是我需要數據的表格。項目表如下所示。
$table->increments('id');
$table->integer('lead_id');
$table->string('sales_phase',11); // the sale_phase has 4 category only A,B,C,D
$table->string('product_name',32);
$table->decimal('price',8,2)->default(0.00);
$table->integer('qty');
$table->integer('probability')->default(0);
$table->decimal('forcast',8,2)->default(0.00);
$table->string('note')->nullable();
$table->timestamps();
我需要通過sales_phase得到forcast和group的總和。我需要2個結果。
1. sales_phase獲取FORCAST組之和衛生組織lead_id是活動的(信息表有效= 1)
2.獲取FORCAST組由sales_phase用於用戶的總和。 (用戶>潛在客戶>潛在客戶>項目)
對於第一個結果,我可以通過以下查詢來製作數據透視表。但我怎麼能通過參數在哪裏條件,哪裏鉛活躍。並得到用戶的結果;
$data = DB::table('items')
->select(DB::raw("lead_id,
SUM(CASE WHEN sales_phase='New Lead' THEN forcast ELSE 0 END) AS NEW_LEAD, SUM(CASE
WHEN sales_phase='Contact' THEN forcast ELSE 0 END) AS CONTACT, SUM(CASE WHEN
sales_phase='Quotation' THEN forcast ELSE 0 END) AS QUOTATION, SUM(CASE WHEN
sales_phase='Order' THEN forcast ELSE 0 END) AS ORDERS
"))
->groupBy('lead_id')
->get();
請幫忙。我在sql中不夠好。
嗨,謝謝,我想我接近解決方案。對於第一個答案,我可以使用一個工作正常的單個線索。但是如果我想要所有活動導線的所有總和,我需要將參數傳遞給導致表active = 1;第二個不起作用。 – Taslim
對不起,我一定是第一次誤讀你的問題。我已經更新了我的答案。 –
與不工作,但我使用whereHas,現在它工作。謝謝。 – Taslim