我在MySQL数据库中有10个表,这些表都设置了字段id
,a
,b
,c
和average
。所有字段都有数值,每个表中的每个id都有一条记录。如何返回具有特定ID的average
值最高的表的名称?
答案 0 :(得分:1)
我不打算在10张桌子上写出来,但这是它的本质。
UNION 10派生表,如下所示:
SELECT id, average, 'Table1' AS TableName FROM Table1
UNION
SELECT id, average, 'Table2' AS TableName FROM Table2
将该10表联合作为子选择,编写一个外部查询,选择TOP 1 TableName,按平均DESC排序,WHERE id = @ desiredId。