CREATE TABLE subscription (
magazine_id bigint,
user_id bigint,
PRIMARY KEY (magazine_id, user_id)
);
CREATE TABLE delivery (
magazine_id bigint,
user_id bigint,
FOREIGN KEY (subscription) REFERENCES subscription (magazine_id, user_id)
);
Каков хороший способ запроса доставки с учетом конкретной подписки? Есть ли способ присвоить имя столбца PRIMARY KEY (magazine_id, user_id)
и соответствующий внешний ключ, чтобы я мог делать запросы следующим образом:
SELECT *
FROM subscription
JOIN delivery ON (delivery.subscription_fk = delivery.subscription_pk);
Примечание. Я могу написать что-то вроде этого:
SELECT *
FROM subscription
JOIN delivery ON (delivery.magazine_id = subscription.magazine_id
AND delivery.user_id = subscription.user_id);
Однако у меня сложилось впечатление, что есть менее подробный способ добиться этого.