php mysql在同一个表中获取具有父ID的记录

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php mysql在同一个表中获取具有父ID的记录脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我想要获取包含照片或视频的相册类型.我不需要空白专辑.表结构如下

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的记录全部内容,希望文章能够帮你解决php mysql在同一个表中获取具有父ID的记录所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。