-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