I have two table, one for products, and one for discounts. Discounts table look like:
ID | Name | Percentage | Product Name Search Param
-----------------------------------------------------------
1 | Black Friday | 50 | a
2 | White Friday | 75 | b
Product table look like:
ID | Name | Price
--------------------------
1 | Shoes | 2500
2 | Hat | 1500
3 | Baseball cap | 500
If the Product name contain Discount.Product Name Search Param value, then the Product get the Discount percentage. I get the the Products from Discount
SELECT * FROM Products WHERE name LIKE '%a%'
But i don't have any idea how to get one Product Discounts.
I want to get the Product with ID
2
which discount is due.
You can join with a like
condition:
select p.*, d.*
from product p
inner join discounts d
on p.name like concat('%', d.product_name_seach_param, '%')
Note: as far as concerns, your design does not look good. It would be better to have a referential tables for products and one for discounts, and a junction table that relates products to discounts.