SELECT *
FROM lookup_type
WHERE type_group = 'enquiry'
AND type_sub_group = 'category'
AND type_attribute IN (SELECT prod_id
FROM product
WHERE prod_id IN (SELECT option_prod_id
FROM product_option
WHERE option_id IN (SELECT link_option_id
FROM product_link
WHERE link_member_id = '146')));
В запросе выше я хотел бы выбрать запись в моей таблице поиска. Однако я получаю следующую ошибку от моего клиента postgreSQL.Понятие явного типа приведения в SQL
ERROR: operator does not exist: character varying = integer
LINE 1: ...uiry' and type_sub_group='category' and type_attr in(SELECT ...
^HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
type attr
является varchar
колонка и prod_id
является целым числом столбца.
Что я делаю неправильно и как это исправить? Объяснение тому, как избежать этого в будущем, было бы высоко оценено.
Почему вы сравниваете яблоки с апельсинами? На самом деле не имеет смысла, что один и тот же тип информации хранится как varchar в одной таблице и как целое число в другой таблице. –