簡體   English   中英

Mysql查詢價格比較

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM