Imagine having a big "products" table (id,name,...) with massive data, in number of columns and quantity of data (few billion rows). Now, the users want to upload a list of (existing) product IDs and mark a few hundred/thousands of these items as "discounted" and set a discount for them in specific date range, and also give them new discount names. So you would just make a new table called "discount_products" (id, name, discount, date_from, date_to) and in main query just add: LEFT JOIN discount_products dp ON (products.id=dp.id AND NOW() >= dp.date_from AND NOW() <= dp.date_to) and add new select fields, and use COALESCE(discount_products.name, products.name) to get the proper name column.