Я получаю следующие данные из базы данных MySQL
+----------------+------------+---------------------+----------+
| account_number | total_paid | doc_date | doc_type |
+----------------+------------+---------------------+----------+
| 18 | 54.0700 | 2009-10-22 02:37:09 | IN |
| 425 | 49.9500 | 2009-10-22 02:31:47 | PO |
+----------------+------------+---------------------+----------+
Запрос в порядке, и я получаю необходимые данные, за исключением того, что doc_type не очень удобен для чтения человеком. Чтобы это исправить, я сделал следующее
CREATE TEMPORARY TABLE doc_type (id char(2), string varchar(60));
INSERT INTO doc_type VALUES
('IN', 'Invoice'),
('PO', 'Online payment'),
('PF', 'Offline payment'),
('CA', 'Credit adjustment'),
('DA', 'Debit adjustment'),
('OR', 'Order');
Затем я добавляю объединение к этой временной таблице, чтобы легче было читать мой столбец doc_type, который выглядит следующим образом
+----------------+------------+---------------------+----------------+
| account_number | total_paid | doc_date | document_type |
+----------------+------------+---------------------+----------------+
| 18 | 54.0700 | 2009-10-22 02:37:09 | Invoice |
| 425 | 49.9500 | 2009-10-22 02:31:47 | Online payment |
+----------------+------------+---------------------+----------------+
Это лучший способ сделать это? Можно ли заменить текст одним запросом? Я начал смотреть на утверждения if, но, похоже, это не то, что мне нужно, или, может быть, я просто неправильно их прочитал.
// РЕДАКТИРОВАТЬ //
Спасибо всем. Я полагаю, я буду продолжать делать это так.
К сожалению, невозможно изменить doc_type на integer, поскольку это существующая база данных для приложения для выставления счетов, которое я не написал. Я бы в конечном итоге нарушил функциональность, если бы внес какие-либо изменения, кроме добавления таблицы здесь и там.
Также оцените простое для понимания заявление Рахула. Может пригодиться позже.