Я унаследовал определенный код от предыдущего разработчика. Я собираюсь создать приложение заново, но мне нужно добавить некоторые функции, прежде чем я продолжу.
Во-первых, это таблица из 62 столбцов, которая имеет отношение к бухгалтерскому учету, и мне также нужно извлекать значения из разных таблиц одним вызовом, чтобы получить нужные мне значения перед вставкой.
Допустим, мне нужно сделать вставку в таблицу dailysales
, и мне нужно получить значения из таблиц a,b,c
и d
одновременно.
У меня уже есть SQL-оператор для извлечения этих значений, и он работает нормально, за исключением того, что определенный столбец продолжает возвращаться как NULL
.
Вот мой код:
SELECT `gds_pnr_ref`, `transaction_date`,
(SELECT `lastname` FROM `a` WHERE `id` = `staff` LIMIT 1) as `lastname`,
(SELECT `firstname` FROM `a` WHERE `id` = `staff` LIMIT 1) as `firstname`,
(SELECT `department_name` FROM `b` WHERE `id` = `staff_department` LIMIT 1) as `department`,
(SELECT `name` FROM `b` WHERE `memo_serial` = '$some_value' LIMIT 1) as `pax_name`,
(SELECT `customer_name` FROM `c` WHERE `id` = `customer_name` LIMIT 1) as `customer`,
travel_product,
(SELECT `vendor_name` FROM `c` WHERE `id` = `vendor` LIMIT 1) as `vendor`
FROM `d` WHERE `id` = '$some_value' LIMIT 1
Столбец (SELECT customer_name FROM c WHERE id = customer_name LIMIT 1) as customer
всегда возвращается как NULL
, но когда я запускаю его независимо, он дает мне соответствующее значение.
Я очень открыт для лучшего решения для этого.