0
私は以下のこの質問をしています。しかし、走るのに30分以上かかります。基本的に、skuフィールドはユニークですが、結合するテーブルにはentity_idに対応する複数の値があります。私はそれが見つけた最初の価値を返すだけです。私が今やっているやり方は今はうまくいくと理解していますが、効率的ではありません。どんなヒントも大歓迎です。最初の一致のみを内部結合と返します
申し訳ありませんが、奇妙なコードのサンプルです。コードオプションでフォーマットすることができませんでした。
ありがとうございます!
SELECT
FROM
(
\t SELECT DISTINCT substring(sku, 1,
\t (
\t SELECT CASE
\t \t WHEN charindex('-', sku)-1 = -1
\t \t THEN 0
\t \t ELSE charindex('-', sku)-1
\t END
\t)) AS sku,
\t CAST(cpet.value AS varchar(max)) AS 'DESCRIPTION', cpev.value AS 'URL_KEY', CONCAT('https://azureedge.net/catalog/product', cpemg.value) AS 'image', ROW_NUMBER() OVER(PARTITION BY sku ORDER BY sku) AS RowNumber
\t FROM imp_mg.CATALOG_Product_Entity cpe
\t INNER JOIN
\t imp_mg.CATALOG_Product_Entity_Text cpet
\t ON cpe.entity_id = cpet.entity_id
\t INNER JOIN
\t imp_mg.CATALOG_Product_Entity_Varchar cpev
\t ON cpe.entity_id = cpev.entity_id
\t INNER JOIN
\t imp_mg.CATALOG_Product_Entity_Media_Gallery cpemg
\t ON cpe.entity_id = cpemg.entity_id
) AS a
WHERE a.RowNumber = 1
感謝をしてみてください。私は質問を実行し、27分でそれを殺した。 Azureパイプラインのすべての結合を処理しようとしています。うまくいけば、それは実際のクエリの負荷を軽減します。 –