Lolは質問を完全に誤解していました。
とにかく、あなたが実際に求めているものにも同じ戦略が当てはまると思います。
テーブル 'featured_products' object_ID 'objects'.'ID' の FOREIGN KEY
object_ID
1
2
3
テーブル 'objects' これはオブジェクト ID のみを保持します
ID (AI)
1
2
3
テーブル 'cars': object_ID FOREIGN KEY on 'objects'.'ID' (自動インクリメントなし!)
object_ID | name
1 | Ferrari
2 | Duckatti
テーブル 'トラック': 'objects'.'ID' の object_ID FOREIGN KEY (自動インクリメントなし!)
object_ID | name
3 | Monster truck
このセットアップは、いくつかのコードも変更する必要があることを意味します。オブジェクトに NULL 値を挿入し、insert_ID を車やトラックなどで使用する必要があるためです。
私は実際にこれを試したことはありません。しかし、次のクエリを使用すると成功する可能性があります。
SELECT
truck.name, car.name
FROM
objects
LEFT JOIN trucks ON trucks.object_ID=objects.ID
LEFT JOIN cars ON cars.object_ID=objects.ID
WHERE objects.ID IN((SELECT * FROM featured_products))
GROUP BY objects.ID