Я создал следующие простые DataModel
:

И я заполнил таблицы следующими данными:
1) Таблица Заказчик
INSERT INTO test.customer
(CustomerName, Country, RegistrationDate)
VALUES
("Customer A","DE","2015-05-03"),
("Customer B","US","2015-07-25"),
("Customer C","US","2016-02-15"),
("Customer D","DE","2017-09-21"),
("Customer E","AU","2018-12-07");
2) Таблица Заказы
INSERT INTO test.orders
(idCustomer, PaymentMethod, OrderDate, OrderValue)
VALUES
("1","CreditCard","2015-05-04","500"),
("1","PayPal","2015-11-18","200"),
("3","PayPal","2017-09-04","300"),
("2","Invoice","2018-04-30","100");
3) Таблица Критерии
INSERT INTO test.criterias
(Country, MinimumOrderValue)
VALUES
("DE","300"),
("US","150"),
("AU","200");
Впоследствии я создал запрос для получения Customers
и их Orders
на основе критериев Country
и OrderValue
:
SELECT
test.customer.idCustomer, CustomerName, Country,
test.orders.OrderValue
FROM test.customer
LEFT JOIN test.customer_info ON test.customer.idCustomer = test.customer_info.idCustomer
LEFT JOIN test.orders ON test.customer.idCustomer = test.orders.idCustomer
WHERE
Country = "US" AND OrderValue >= "150"
OR Country = "DE" AND OrderValue >= "300"
OR country = "AU" AND OrderValue >= "200";
Пока все это работает отлично.
Однако вместо наличия критериев в предложении WHERE
в запросе SQL они должны храниться в отдельной таблице Criterias
.Затем запрос должен получить данные из этой таблицы и применить их точно так же, как это делается сейчас в запросе выше.
Что мне нужно изменить в моем коде, чтобы добиться этого?