sql >> データベース >  >> RDS >> Sqlserver

SQLの複数のストアとの価格比較

    DifferencePercentage 列をどのように計算したいのかわかりませんでしたが、私はこれを試してみました。そのため、詳しく調べてください。

    CREATE TABLE #tempProduct
    (
        ID INT,
        SellerName VARCHAR(100),
        Total MONEY,
        Availability VARCHAR(100),
        Offer VARCHAR(100),
        Competitors INT
    )
    
    INSERT INTO #tempProduct (ID, SellerName, Total, Availability, Offer)
    SELECT DISTINCT p.id, pp.SellerName, pp.Price + ISNULL(pp.Shipping,0), pp.Available, pp.Offer
    FROM Products p
    JOIN Product_Price pp
        ON p.id = pp.ProductId
    
    -- Get Sears competitors
    UPDATE tp
    SET Competitors = pp.CompetitorCount
    FROM #tempProduct tp
    JOIN (
            SELECT ProductId, COUNT(sellerName) [CompetitorCount] 
            FROM Product_Price 
            WHERE SellerName <> 'Sears' AND Price + ISNULL(Shipping,0) IS NOT NULL
            GROUP BY ProductId
        ) pp
        ON pp.ProductId = tp.ID
    WHERE tp.SellerName = 'Sears'
    
     SELECT DISTINCT 
        p.id, 
        p.ProductName,
        p.ProductCategory, 
        p.ProductImage, 
        p.ProductUri, 
        stp.Total [SearsTotal], 
        stp.Availability [SearsAvailability], 
        stp.Offer [SearsOffer], 
        stp.Competitors [#Competitors],
        100 - (((ISNULL(etp.Total,0) + ISNULL(atp.Total, 0))/stp.Competitors)/stp.Total) * 100 [DifferencePercentage(Sears & others)], -- Not sure how you want to calculate price difference
        atp.Total, 
        atp.Availability [AmazonTotal], 
        atp.Offer [AmazonOffer], 
        etp.Total [eBayTotal], 
        etp.Availability [eBayAvailability], 
        etp.Offer [eBayOffer]
     FROM Products p
    JOIN Product_Price pp
        ON pp.ProductId = p.ID
    JOIN #tempProduct stp
        ON stp.ID = p.id
    JOIN #tempProduct etp
        ON etp.ID = p.id
    JOIN #tempProduct atp
        ON atp.ID = p.id
    WHERE stp.SellerName = 'Sears'  
    AND etp.SellerName = 'eBay'
    AND atp.SellerName = 'Amazon'   
      

    1. PHPを使用して単純なExcelデータをMySQLにエクスポートする

    2. SQL内部結合

    3. SQL Server 2008 - VARCHAR 値と NVARCHAR 値の異なる並べ替え順序

    4. ASP.NETアプリにmysqldbサーバーがダウンしているかどうかをプログラムで確認する簡単な方法はありますか?