我有很大的商店产品加入。 我想列出我的产品展示
为了将这些数据组合在一起,我决定使用3个GROUP_CONCAT实例来使用3个数组,如下所示:
GROUP_CONCAT(DISTINCT price.Id SEPARATOR ',') as price_ids,
GROUP_CONCAT(DISTINCT price.Price__c SEPARATOR ',') as prices,
GROUP_CONCAT(DISTINCT price.Delivery_Format__c SEPARATOR ',') as delivery_formats
以下是完整查询:
select field, field, field,GROUP_CONCAT(DISTINCT price.Id SEPARATOR ',') as price_ids,GROUP_CONCAT(DISTINCT price.Price__c SEPARATOR ',') as prices,GROUP_CONCAT(DISTINCT price.Delivery_Format__c SEPARATOR ',') as delivery_formats
from db.ats_store_package__c package
left JOIN db.ats_store_package_meta_tag__c package_meta ON package_meta.ATS_Store_Package__c = package.Id
left JOIN db.ats_store_price__c price ON price.ATS_Store_Package__c = package.Id
left JOIN db.meta_tag__c meta ON meta.Id = package_meta.Meta_Tag__c
left JOIN db.ats_store_package_session__c store_package_session ON store_package_session.ATS_Store_Package__c = package.Id
left join db.ats_conference_session_presentation__c sp on sp.ATS_Conference_Session__c = store_package_session.ATS_Conference_Session__c
where package.Is_Active__c = 1 group by package.Package_Code__c order by package.Sort_Order__c
在php中,我将这3个字符串(price,price_ids,delivery_formats)分解为3个独立的数组。
3个数组中的项目是否会根据价格保持/同步.Id? 同一行上的3个阵列是否会保持同步?就个人而言,我99%肯定, 但是我想听听你的意见。
答案 0 :(得分:1)
假设您的所有属性Id
,Price__c
和Delivery_Format__c
具有相同的“distictiveness”,这意味着它们都完全存在于完全相同的计数中,那么:是的。如果不是:否。三个阵列的索引很可能会有所不同。
如果您要删除DISTINCT
关键字,那将是一个不同的故事,然后我会以更简单的方式说“是”。 :)
答案 1 :(得分:0)
我的最终决定是分别查询每种产品的价格。 当尝试在一个大问题中做所有事情时,它不值得潜在的噩梦。