SQL Easiest Solution using Union | Very Understandable Approach
\tSELECT product_id,\n\t"store1" AS store,\n\tstore1 AS price \n\tFROM Products WHERE store1 IS NOT NULL\n\n\tUNION\n\n\tSELECT product_id,\n\t"store2" AS store
\tSELECT product_id,\n\t"store1" AS store,\n\tstore1 AS price \n\tFROM Products WHERE store1 IS NOT NULL\n\n\tUNION\n\n\tSELECT product_id,\n\t"store2" AS store,\n\tstore2 AS price \n\tFROM Products WHERE store2 IS NOT NULL\n\n\tUNION\n\n\tSELECT product_id,\n\t"store3" AS store,\n\tstore3 AS price \n\tFROM Products WHERE store3 IS NOT NULL;
['Union Find', 'MySQL']