繁体   English   中英

SQL 服务器:从第二个表插入第一个表中具有匹配条件的每个唯一值

[英]SQL Server: Insert from second table for every unique value in first table with matching condition

我有第一张客户数据表:

|BillTo |ShipTo_Code|Name    |Address           |ProductNum |UoM |Price  |
|:------|-----------|--------|------------------|-----------|----|-------|
|101308 |0526       |Store 1 |118 Washington St.|           |    |       |
|101308 |0542       |Store 2 |62 Central St.    |           |    |       |
|101308 |0716       |Store 3 |15 Walnut Rd.     |           |    |       |
|101308 |0817       |Store 4 |211 Sudbury Rd.   |           |    |       |

我还有第二张表,其中包含客户的产品和定价数据:

|BillTo |ProductNum |UoM |Price  |
|:------|-----------|----|-------|
|101308 |3100121    |CS  |2.90   |
|101308 |3100697    |CS  |2.45   |
|101308 |3300072    |CS  |67.80  |
|101308 |3300075    |CS  |5.45   |

我需要将定价数据插入到客户表中,以便 ShipTo_Code 中的每次更改都会显示所有 4 种产品。 它最终应该是这样的:

|BillTo |ShipTo_Code|Name    |Address           |ProductNum |UoM |Price  |
|:------|-----------|--------|------------------|-----------|----|-------|
|101308 |0526       |Store 1 |118 Washington St.|3100121    |CS  |2.90   |
|101308 |0526       |Store 1 |118 Washington St.|3100697    |CS  |2.45   |
|101308 |0526       |Store 1 |118 Washington St.|3300072    |CS  |67.80  |
|101308 |0526       |Store 1 |118 Washington St.|3300075    |CS  |5.45   |
|101308 |0542       |Store 2 |62 Central St.    |3100121    |CS  |2.90   |
|101308 |0542       |Store 2 |62 Central St.    |3100697    |CS  |2.45   |
|101308 |0542       |Store 2 |62 Central St.    |3300072    |CS  |67.80  |
|101308 |0542       |Store 2 |62 Central St.    |3300075    |CS  |5.45   |
|101308 |0716       |Store 3 |15 Walnut Rd.     |3100121    |CS  |2.90   |
|101308 |0716       |Store 3 |15 Walnut Rd.     |3100697    |CS  |2.45   |
|101308 |0716       |Store 3 |15 Walnut Rd.     |3300072    |CS  |67.80  |
|101308 |0716       |Store 3 |15 Walnut Rd.     |3300075    |CS  |5.45   |
etc.

两个表之间的唯一匹配是 BillTo。

我花了很多时间在这里查看类似的问题,但还没有真正能够应用我迄今为止在线程中看到的解决方案。

这个线程给了我一个好的开始,但它是在同一张桌子上做的。

任何帮助将不胜感激。

这似乎是一个join

select c.*, st.*
from customers c join
     secondtable st
     on c.billto = st.billto
order by c.shipto_code, st.productnum;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM