我正在尝试使用SQL代码创建任意UNION ALL SQL查询。

目前,我有这些表描述。

php - 不使用UNION过滤值数组中的一列-LMLPHP

php - 不使用UNION过滤值数组中的一列-LMLPHP

在此处输入图片说明

php - 不使用UNION过滤值数组中的一列-LMLPHP

php - 不使用UNION过滤值数组中的一列-LMLPHP

对于给定的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;

10-07 19:26
查看更多