【发布时间】:2020-08-19 02:14:35
【问题描述】:
寻找您将复杂的嵌套 MYSQL 查询转换为 JSON 文件的经验。下面是代码。
SELECT post_id
, name
, Email
, CustomerId
, DeliveryDate
, DeliveryTime
, DeliveryType
, Zip
, OrderNote
, PaymentTotal
, OrderStatus
FROM ( SELECT t1.post_id
, t2.name
, MAX(CASE WHEN meta_key = 'value' THEN meta_value ELSE NULL END) as Email
, MAX(CASE WHEN meta_key = 'value' THEN meta_value ELSE NULL END) as CustomerId
, MAX(CASE WHEN meta_key = 'value' THEN meta_value ELSE NULL END) as DeliveryDate
, MAX(CASE WHEN meta_key = 'value' THEN meta_value ELSE NULL END) as DeliveryTime
, MAX(CASE WHEN meta_key = 'value' THEN meta_value ELSE NULL END) as DeliveryType
, MAX(CASE WHEN meta_key = 'value' THEN meta_value ELSE NULL END) as Zip
, MAX(CASE WHEN meta_key = 'value' THEN meta_value ELSE NULL END) as OrderNote
, MAX(CASE WHEN meta_key = 'value' THEN meta_value ELSE NULL END) as PaymentTotal
, MAX(CASE WHEN meta_key = 'value' THEN meta_value ELSE NULL END) as OrderStatus
FROM table_A t1
INNER
JOIN table_B t2
ON FIND_IN_SET(t1.post_id, t2.payment_ids)
GROUP
BY t1.post_id
, t2.name
) AS derived_table
WHERE OrderStatus RLIKE '%trans%|ready'
AND DeliveryDate >= CURRENT_DATE - INTERVAL 7 DAY
AND DeliveryType = 'pickup'
既然这必须从 SELECT 开始,有没有办法将它正确地转换为 JSON,它会是什么样子?据我了解,JSON 不喜欢从 SELECT 开始
【问题讨论】:
-
你用的是什么版本的 MySQL?
-
我认为所有的
'value'字符串实际上是不同的,并且代表您尝试提取的值的适当键? -
更正。 'value' 是一个占位符,所以我的回答不是那么具体。我正在运行 5.7.3
-
谢谢,我很想投票,但没有足够的业力投票。它说,谢谢您的回复已被记录但不算数