簡體   English   中英

PHP MySQL 顯示來自 GROUP_CONCAT 的特定結果

[英]PHP MySQL display specific results from GROUP_CONCAT

我有一張這樣的表:

Company                                        CompanyEntity        OrderNumber       DeliveryDate 
Deeway HS,Deeway Pearl HS,Deeway Stony HS     20779,20780,1273     4608580,4608558    2020-11-11
Zaper LTD,Zaper CP LTD                           9995,4295         4630230,4607371    2020-11-11
Wilder                                             4224            6630210,7601371    2020-11-11

在同一張表上,我有另一列,如下所示,用戶可以在其中單擊並查看列出的所有序列/項目(我沒有將該列添加到上面的表格中,因為這篇文章的格式不好看:

         View/Edit                                      Company
     <a href="$id1">View</a>              Deeway HS,Deeway Pearl HS,Deeway Stony HS
     <a href="$id2">View</a>                     Zaper LTD,Zaper CP LTD
     <a href="$id3">View</a>                              Wilder        

這是一個 SQL 小提琴

當我單擊“查看編輯”按鈕時,我希望它加載另一個這樣的表

  Company            OrderNumber     Date          Serial     Items
Deeway HS.             4608580     2020-11-11       SN1       Item1 
Deeway Pearl HS        4608580     2020-11-11       SN2       Item2 
Deeway Stony HS        4608558     2020-11-11       SN3       Item3 

我嘗試了以下但缺少記錄:

 SELECT
 nextgenorder_id,
 GROUP_CONCAT(DISTINCT nextgenorder_companyname) AS nextgenorder_companyname,
 GROUP_CONCAT(DISTINCT nextgenorder_company_entity) AS nextgenorder_company_entity,
 GROUP_CONCAT(DISTINCT nextgenorder_ordernumber) AS nextgenorder_ordernumber,
 nextgenorder_deliverydate,
 nextgenorder_item,
 nextgenorder_serialnumber
 FROM nextgenorders2
 WHERE 
 (nextgenorder_ordernumber='$nextgenorder_ordernumber' AND nextgenorder_deliverydate='$nextgenorder_deliverydate') 
 OR
 (nextgenorder_company_entity='$nextgenorder_company_entity' AND nextgenorder_deliverydate='$nextgenorder_deliverydate') 
 OR
 (nextgenorder_companyname='$nextgenorder_companyname' AND nextgenorder_deliverydate='$nextgenorder_deliverydate')
 OR
 (nextgenorder_shiptoadd1='$nextgenorder_shiptoadd1' AND nextgenorder_deliverydate='$nextgenorder_deliverydate')

這是一個 SQL 小提琴

*旁注,有時會在以后分配序列號。 並不總是有序列號。

謝謝

您可以使用另一個 where 子句

 SELECT
 nextgenorder_id,
 GROUP_CONCAT(DISTINCT nextgenorder_companyname) AS nextgenorder_companyname,
 GROUP_CONCAT(DISTINCT nextgenorder_company_entity) AS nextgenorder_company_entity,
 GROUP_CONCAT(DISTINCT nextgenorder_ordernumber) AS nextgenorder_ordernumber,
 nextgenorder_deliverydate,
 GROUP_CONCAT(DISTINCT nextgenorder_item) nextgenorder_item,
 GROUP_CONCAT(DISTINCT  nextgenorder_serialnumber) nextgenorder_serialnumber
 FROM nextgenorders2
 WHERE 
 (nextgenorder_companyname LIKE CONCAT(SUBSTRING_INDEX('Deeway  HS', ' ', 1),'%') AND nextgenorder_deliverydate='2020-11-11')

sqlfiddle 示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM