我在phpMyAdmin中遇到了SQL查询的特定问题。我的查询仅适用于我的表中的第一个创建的实体(以及它的子项),但不适用于其他实体。可能是什么问题?
我试图在不同的数据库中使用该查询,它可以正常工作。
select title_media,MAX(LENGTH(text_media)) as TEXTFieldSize
from media
where LENGTH(text_media) =
(select MAX(LENGTH(text_media)) from media ) AND fk_event=id_event
我希望输出是具有最长text_media字段的媒体标题。对于第一个实体,它运行良好,但对于以下我只获得空行。
如果你试图为特定的test_media
(等于fk_event
)找到最长的<id_event>
的媒体事件,那么你就错过了子查询中的条件
select m1.title_media,
MAX(LENGTH(m1.text_media)) as TEXTFieldSize
from media m1
where LENGTH(m1.text_media) = (
select MAX(LENGTH(m2.text_media))
from media m2
where m1.fk_event=m2.fk_event
) AND m1.fk_event=<id_event>