我有一张表,其中每个对象有几行。我试图将这些行分组,使它们基于一个链接列形成一列。我已经有了一些可以实现这个目的的SQL语句,但是现在我不知道如何根据另一个字段来设置条件。
******************************************************
* id * page_id * key * value * uuid *
******************************************************
* 1 * 1 * type * url * 654978654 *
******************************************************
* 2 * 1 * picture * 654978654.png * 654978654 *
******************************************************
* 3 * 1 * url * google.com * 654978654 *
******************************************************
* 4 * 1 * active * 1 * 654978654 *
******************************************************
所以这基本上只是表中的一条记录。我希望我的选择器只在每个uuid的活动状态设置为1时才起作用。以下是我用来将行转换为列的SQL(它确实有效)。
Select uuid
, Min( Case When meta_key = "type" Then meta_value End ) As Type
, Min( Case When meta_key = "picture" Then meta_value End ) As Picture
, Min( Case When meta_key = "url" Then meta_value End ) As URL
, Min( Case When meta_key = "active" Then meta_value End ) As Active
From sm_page_meta
Where meta_key In("type","picture","url","active")
Group By uuid