Я пытаюсь объединить 2 таблицы. Значение, к которому я пытаюсь присоединиться, хранится в столбце JSON в одной таблице и в столбце TEXT в другой. Вот мой запрос:
SELECT inv.data -> 'total_amount' as iTotalAmount,
inv.data -> 'due_date' as iDueDate,
inv.data -> 'emission_date' as iEmissionDate,
inv.data -> 'customer_name' as iCustomerName,
matc.ch_number as mCompanyHouseNumber,
matc.acc_software_company_name as mAccSoftName
FROM invoices inv, matching_ch_acc_software matc
JOIN mCompanyHouseNumber on iCustomerName
WHERE inv.rating_data IS NOT null
Однако я получаю следующую ошибку:
SQL Error [42P01]: ERROR: relation "mcompanyhousenumber" does not exist Position: 363
Я предположил, что вы не можете использовать значения, определенные в запросе, как часть условия JOIN? Что будет обходить?
РЕДАКТИРОВАТЬ
обновленный запрос:
SELECT inv.data -> 'total_amount' as iTotalAmount,
inv.data -> 'due_date' as iDueDate,
inv.data -> 'emission_date' as iEmissionDate,
inv.data -> 'customer_name' as iCustomerName,
matc.ch_number as mCompanyHouseNumber,
matc.acc_software_company_name as mAccSoftName
FROM invoices inv, matching_ch_acc_software matc
INNER JOIN matching_ch_acc_software
ON (invoices.data -> 'customer_name')::text = matching_ch_acc_software.acc_software_company_name
WHERE inv.rating_data IS NOT null
ошибка:
SQL Error [42P01]: ERROR: invalid reference to FROM-clause entry for table "invoices" Hint: There is an entry for table "inv", but it cannot be referenced from this part of the query. Position: 397