我有一个使用特定查询生成的下表:
+-------------+------------------+
| 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 |
+-------------+------------------+--------------+
您是否尝试在查询中使用通用表表达式 (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;