Суть такова:
Есть таблица типов:
types
------
id,
name,
prefix
Таблица моделей
models
--------
id,
name
type_id
И таблица изделий:
items
------
id
model_id
number
Между собой таблицы связаны - модель и тип по type_id, id, а изделия и модели по model_id и id
Собственно суть вопроса - необходимо обеспечить уникальность поля number в items совместно с полем prefix в types.
То есть при создании запроса:
SELECT
a.id,
to_char(c.prefix, 'FM0000') || '-' || to_char(a.number, 'FM0000000000') AS code
FROM
items AS a
INNER JOIN models AS b ON a.model_id = b.id
INNER JOIN types AS c ON b.type_id = c.id
поле
code должно быть уникальным, в то время как number и prefix могут повторяться в своих таблицах.
INDEX не создаётся для двух и более таблиц.