0
在rails中創建一個查詢,我非常確定活動記錄不會支持這種類型的查詢。mySQL查詢,我應該使用CASE,UNION或其他東西
有四個表(產品,企業,商店和product_inventories)
有包含的product_id,COMPANY_ID,STORE_ID一個Product_Inventory表。一家公司可能會或可能不會有很多商店(百思買將有很多商店,而亞馬遜會有1家)。如果一行只包含產品和公司,所有商店都包含該產品,但如果該商店包含商店,則僅適用於該單一位置。
Product -> Product_Inventory -> Companies -> Stores
OR
Product -> Product_Inventory -> Stores
目標:我希望能夠查詢產品並查找產品的所有位置。
我有什麼:
SELECT DISTINCT s.*, c.* FROM product_inventory p_inv
INNER JOIN stores s ON
(p_inv.store_id = s.id #SKIP when p_inv.store_id IS NULL
OR
p_inv.company_id = s.company_id) #SKIP when p_inv.store_id IS NOT NULL
INNER JOIN companies c ON s.company_id = c.id
WHERE p_inv.product_id = 1