是否可以使用某种具有查询生命周期的临时表?

问题描述 投票:0回答:1

我有一个使用特定查询生成的下表:

+-------------+------------------+
| error_codes | number_of_orders |
+-------------+------------------+
| 2066        |              104 |
| 5092        |              642 |
+-------------+------------------+

我想为每个错误附加相应的消息。错误消息表不存在,但我希望可以在查询中创建一个临时表,查询完成后该表将被销毁。

+-------------+------------------+
| error_codes | error_message    |
+-------------+------------------+
| 2066        |         Tralalala|
| 5092        |         Ohje     |
+-------------+------------------+

鉴于错误代码的唯一性,它可以用作连接表的索引。但重点是我不希望这个表出现在数据库中,它应该是一个虚拟表或类似的东西。

最终结果预计如下:

+--------------------------------+--------------+
| error_codes | number_of_orders | error_message|                                                                          
+-------------+------------------+--------------+
| 2066        |              104 | Tralalala    |
| 5092        |              642 | Ohje         |
+-------------+------------------+--------------+

mysql
1个回答
0
投票

您是否尝试在查询中使用通用表表达式 (CTE) 来创建包含错误消息的虚拟表?检查此链接

一个简单的使用示例:

WITH ErrorMessages AS (
    SELECT 2066 AS error_codes, 'Tralalala' AS error_message
    UNION ALL
    SELECT 5092 AS error_codes, 'Ohje' AS error_message
)
SELECT 
    e.error_codes, 
    e.number_of_orders,
    em.error_message
FROM 
    your_table_name e
JOIN 
    ErrorMessages em ON e.error_codes = em.error_codes;
© www.soinside.com 2019 - 2024. All rights reserved.