create table product (id int, name varchar(64));
create table item_1 (id int, price int);
create table item_2 (id int, price int);
create table relations (id int, id_product int, item_1_id int, item_2_id int);
insert into product values
(1, 'Ноутбук Acer Aspire 7'),
(2, 'Ноутбук ASUS TUF Gaming F15'),
(3, 'Ноутбук Lenovo IdeaPad 3 15ALC6'),
(4, 'Ноутбук Acer Aspire 7');
insert into item_1 values
(1, 100),
(2, 125),
(3, 80),
(4, 300);
insert into item_2 values
(1, 1200),
(2, 355),
(3, 200),
(4, 300);
insert into relations values
(1, 1, 1, 3),
(2, 2, 1, 2),
(3, 3, 3, 4),
(4, 4, 4, 1);
SELECT price as rq_price_item_1 FROM item_1 WHERE id = 2;
SELECT price as rq_price_item_2 FROM item_2 WHERE id = 3;
https://sqlize.online/sql/mysql57/2ff17da2499ad1e4...
Каким запросом или несколькими, на основе входящих данных получить нужные записи с таблицы product ?
На входе две цены rq_price_item_1 и rq_price_item_2
Выборка по table relations где ( rq_price_item_1 >= item_1.price AND rq_price_item_2 >= item_2.price)
--------------------------------
Это?
SELECT * FROM product WHERE id IN
(SELECT id_product FROM relations WHERE
item_1_id in (SELECT id FROM item_1 WHERE price >= 125) AND
item_2_id in (SELECT id FROM item_2 WHERE price >= 200)
)