MySQL和UUID问题

时间:2011-01-31 22:26:02

标签: sql mysql

我有一个数据库,我试图将类似的列值组合在一起,并将NULL值显示为单独的条目。

目前我有以下内容:

SELECT i.*, IFNULL(iset.set_id, UUID()) AS the_set FROM img_ref i
LEFT JOIN image_set iset ON iset.img_id = i.id
GROUP BY the_set

如果image_set表中有条目,则此方法有效。如果该表中没有条目,它只是将所有NULL值组合在一起。如果我删除'group by'语句,我会得到具有唯一标识符的各行,每种情况都不同。

image_set表不太可能是空的,但是如果它是所有“单独的”图像将被组合为一个条目而不是多个条目。

在查询中是否存在我做错的事情?

1 个答案:

答案 0 :(得分:0)

在使用派生的UUID

之前,必须先对其进行子查询
SELECT *
FROM (
    SELECT i.*, IFNULL(iset.set_id, UUID()) AS the_set FROM img_ref i
    LEFT JOIN image_set iset ON iset.img_id = i.id
) SQ
GROUP BY the_set