-1
我必须在两个产品之间创建关联,这两个产品具有唯一的product_ids并将它们插入到已构建的表中。该关联基于这些产品id具有的唯一部件号创建。例如:在两个产品ID之间创建关联
Product_id = 7578711 Part Number = 0101-2478 Product Id = 7957948 Part Number = 0101-2478 Product Id = 10558140 Part Number = 0101-2478
和我目前的表有以下几列:
ID (int) identity (1, 1)
product_id
date
guid
,其中数据是在形式:
1, 7578711, 12345, 2010-08-24 04:29:04.000,00286AFB-3880-4085-BAA0-DBCC0D59A391
我有一个有能力的查询将Product_id滚动到零件编号级别,然后查询将零件编号滚动到product_id级别。
基于以上数据,他们有相同的部件号,我想创建一个协会,并产生插入语句将在表单中添加2条记录:
2, 7957948, 12345, 2010-08-24 04:29:04.000,00286AFB-3880-4085-BAA0-DBCC0D59A391
3, 10558140, 12345, 2010-08-24 04:29:04.000,00286AFB-3880-4085-BAA0-DBCC0D59A391
有将是许多该表中的产品ID。以上只是一个例子:
我有2个公用表表达式:1将产品Id滚动到零件级别,另一个将零件号码回滚到多个产品ID。我试图避免游标。
任何人都可以帮我解决这个问题吗?
我2个热膨胀系数为如下:
;WITH cte (product_id, item_number)
AS
(
SELECT DISTINCT --TOP 1000
pds.product_id
--,pd.productOwner_id
, i.item_number
FROM SurfwatcherEndeavorStats.dbo.productDetailBySite pds WITH (NOLOCK)
INNER JOIN ProductData.dbo.productDimensions pd with (NOLOCK) ON pds.product_id = pd.product_id
INNER JOIN ProductData.dbo.options o with (NOLOCK) ON pds.product_id = o.product_id
INNER JOIN ProductData.dbo.items i with (NOLOCK) ON o.option_id = i.item_id
WHERE pds.productDetail_date > DATEADD(yyyy, -1, GETDATE())
AND i.item_number IS NOT NULL
--AND i.item_number = '0101-3258'
)
SELECT TOP 1 item_number
FROM cte WITH (NOLOCK)
WHERE product_id = 7957948
;WITH cte1 (product_id, item_number)
AS
(
SELECT DISTINCT --TOP 1000
pds.product_id
--,pd.productOwner_id
, i.item_number
FROM SurfwatcherEndeavorStats.dbo.productDetailBySite pds WITH (NOLOCK)
INNER JOIN ProductData.dbo.productDimensions pd with (NOLOCK) ON pds.product_id = pd.product_id
INNER JOIN ProductData.dbo.options o with (NOLOCK) ON pds.product_id = o.product_id
INNER JOIN ProductData.dbo.items i with (NOLOCK) ON o.option_id = i.item_id
WHERE pds.productDetail_date > DATEADD(yyyy, -1, GETDATE())
AND i.item_number IS NOT NULL
)
SELECT product_id
FROM cte1 WITH (NOLOCK)
WHERE item_number = '0101-2478'
而问题是...... – 2010-09-09 19:36:55
所以你想通过GUID绑定产品,是吗? – 2010-09-09 19:42:04
你真的不需要在CTE上使用'(nolock)'。 – 2010-09-09 19:43:43