[英]Mysql query for price comparison
我正在進行價格比較計划。 我有三個網站。 在我的數據庫中,我有三個網上商店表。 每個表都有一個價格和一個product_id列。 我想列出所有product_id-s並查看每個網店的價格。 產品ID是唯一的,但在所有表中都不相同,因為並非所有的網店都有相同的產品。 我正在使用mysql,但我對數據庫很新。 我應該嘗試什么查詢?
我建議您有一個“主”產品表,列出所有產品,無論它們是在所有網站上銷售,還是只銷售一個。 然后從那里加入到每個網站定價表。 嘗試匹配產品名稱。 在最簡單的形式中,查詢看起來像:
select
p.*,
t1.price as site1_price,
t2.price as site2_price,
t3.price as site3_price
from product p
left join website1 t1 on t1.name = p.name
left join website2 t2 on t2.name = p.name
left join website2 t3 on t3.name = p.name;
您可能必須嘗試加入品牌和型號,即on t1.brand = p.brand and t1.model = p.model
,或者如果名稱不是唯一的,則可以嘗試其他一些標准。
如果他們不銷售產品,網站價格將為空。
要快速填充產品,您可以運行以下命令:
insert into product (name, brand, model, ...)
select name, brand, model, ... from website1
union
select name, brand, model, ... from website2
union
select name, brand, model, ... from website3;
僅供參考,使用UNION
(而不是UNION ALL
)會使UNION ALL
的輸出僅產生唯一的行
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.