如何从三个表插入和联接?

时间:2019-05-27 16:53:03

标签: sql join

我必须合并两个表,并用第三列中的值替换表中的值。

表格看起来像这样 订购

order   date    product_type    quantity    cost 
1      1/1/19   tops             2          49.99
2      1/2/19   bottom           3          190
3      1/2/19   jewelry          1          30

product             
order   date    product type    product name    
1       1/1/19  tops            sophia tank     
2       1/2/19  bottom          boyfriend jeans 
3       1/2/19  jewelry         alex necklace   

 type               
ascin_product      ascin            
tops               0081112          
bottom             121412           
jewelry            12412415 

输出应如下所示

order   date    quantity    cost    product name    ascin
1      1/1/19     2        49.99    sophia tank     0001112
2      1/2/19     3        190      boyfriend jeans 121412
3      1/2/19     1        30       alex necklace   12412415

[在此处输入图片描述] [2]

我可以轻松地加入订单和产品,我只是不知道如何基于ascin产品加入第三张表,然后在总表中将产品类型替换为ascin

select order, date, product_type,product_name from product
inner join on order
product.product_type=order.product type
inner join on type
product.product_type=order.product type=type=ascin_product

我不知道如何用ascin替换表中的产品类型

2 个答案:

答案 0 :(得分:1)

从Order开始,然后加入其他表

data <- read.csv("https://www.dropbox.com/s/i9nxzo1cmbwwfsa/data.csv?dl=1")

ggplot(data, aes(x = soldPrice, fill = month)) +
    geom_histogram(binwidth=1e5, position=position_dodge()) +
    labs(x="Sold Price", y="Sales", fill="") +
    scale_x_continuous(labels=scales::comma, breaks=seq(0, 2e6, by = 1e5)) +
    theme_bw() +
    theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5))

答案 1 :(得分:0)

我将创建一个连接产品的视图,并键入一个公共对象以从中选择,该视图始终是产品的“完整”列集。您可能最终会在各种地方使用它,而不必一遍又一遍地联接这些表。

然后,我将做您已经做过的事情,只需加入订单和视图即可获得您想要的东西。