我正在尝试使用SQL代码创建任意UNION ALL SQL查询。
目前,我有这些表描述。
在此处输入图片说明
对于给定的app_id值,我正在尝试获取其所有描述ID。然后,对于每个这些描述ID,我都尝试获取类别ID,然后获取类别名称以将其列出。
我可以轻松地使用PHP生成SQL代码,但这似乎是作弊行为。
最佳答案
您可以使用它们的外键关系将这四个表连接起来,然后获得所需的结果集,而无需为此进行循环
SELECT a.id as app_id,c.cat_name as category_name
FROM apps a inner join app_permission ap
on ap.app_id=a.id inner join description d
on d.desc_id=ap.desc_id inner join categories c
on c.cat_id=d.cat_id where a.id=$appid;