我想获取有照片或视频的相册类型。我不需要空相册。表结构如下
id catID parentID catName type
1 1 0 location album
2 2 0 color album
3 3 1 USA album
4 4 0 Illinois1 album
5 4 3 Illinois photo
6 5 3 Chicago video
7 6 2 Black photo
8 7 2 Red photo
这里我想获取有子记录的行。即这里的 Id
1,2 和 3 被设置为 3,5,6,7,8
记录的 parentid
。 ID 4
没有子记录。所以我想获取记录 Id 1,2,3
我使用了以下查询。
select rm.* from media rm, media as tmp
inner join tmp on rm.id = tmp.parentID and (tmp.media_type = 'photo' OR tmp.media_type = 'video');
但是它不起作用。因此,我想获取具有照片或视频的相册类型。我不需要空相册。
请帮帮我
最佳答案
您似乎以某种方式混淆了隐式和显式连接语法。
清理您的原始查询:-
SELECT DISTINCT rm.id,
rm.catID,
rm.parentID,
rm.catName,
rm.type
FROM media rm
INNER JOIN media tmp
ON rm.id = tmp.parentID
AND tmp.media_type IN ('photo', 'video')
即使他们有多个子记录,distinct 也只需要返回每个父记录一次。
关于php mysql 在同一个表中获取具有父 ID 的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35842289/