这是一个不符合我预期的问题。这是查询
SELECT `table_name`
FROM `category`
WHERE `id` = ( SELECT `category_id`
FROM `assets`
WHERE `id` = '24028' )
这是返回photos
我需要用作表名的值,
从我需要检索最终值的地方。所以我这样使用它:
SELECT *
FROM (
SELECT `table_name`
FROM `category`
WHERE `id` = ( SELECT `category_id`
FROM `assets`
WHERE `id` = '24028'
)
)
但这会返回错误
#1248 - 每个派生表都必须有自己的别名
所以,像这样使用它,
SELECT *
FROM (
SELECT `table_name`
FROM `category`
WHERE `id` = ( SELECT `category_id`
FROM `assets`
WHERE `id` = '24028' )
) as `photos`
但它再次返回与上一张图像中相同的值。但我期望的是它应该返回以下值:
SELECT * FROM `photos`
其中照片是子查询返回的值。