0

好的,我有一个表名 ORDERS,并且我在 orders 表中有一个名为 OrderedItems 的列

在订购的项目中,数据如下面的示例所示

Flavor Name (10ml, 0mg nic)
Flavor Name (15ml, 12mg nic)
Flavor Name (15ml with Flavor Boost, 12mg nic)
Flavor Name (30ml, 24mg nic)
Flavor Name (30ml with Flavor Boost, 24mg nic)

我希望能够提取下面的项目并将它们放在一个视图中,每个视图都有自己的列,具有风味名称 10/15/30ml 等... 0/12/24mg 等...

我不是最好的写作查询,但如果有人能指出我正确的方向,我也许可以完成它。

有什么建议么?我需要在excel或类似的东西中这样做吗?

4

2 回答 2

0

你想做这样的事情吗?

select orderId,
       sum(case when flavor_name like 'Chocolate%' then 1 else 0 end) as ChocolateCnt,
       sum(case when flavor_name like 'Vanilla%' then 1 else 0 end) as VanillaCnt,
       sum(case when flavor_name like 'Rocky Road%' then 1 else 0 end) as RockyRoadCnt
from orders o
group by orderId
于 2013-03-29T21:37:51.057 回答
0

假设您的格式对于所有口味都是相同的......

SELECT Substring_index(flavor, ' (', 1)                        AS flavorName, 
       Substring(flavor, Locate('(', flavor) + 1, 
       ( Locate('ml', flavor) + 1 ) - Locate('(', flavor))     AS volumne, 
       Substring(flavor, Locate(', ', flavor) + 2, 
       Locate(' nic)', flavor) - ( Locate(', ', flavor) + 2 )) AS dose 
FROM   flavors 

结果

| 风味名称 | 卷 | 剂量 |
--------------------------------
| 口味名称 | 10ml | 0mg |
| 口味名称 | 15毫升 | 12毫克|
| 口味名称 | 15毫升 | 12毫克|
| Flavor Name |    30ml | 24mg |
| Flavor Name |    30ml | 24mg |

See the demo

于 2013-03-29T21:47:05.277 回答