Sql 正在尝试添加“+P”的附加产品组

Sql 正在尝试添加“+P”的附加产品组,sql,Sql,我刚从一位前员工那里学到工作,而且对SQL非常陌生,我似乎很快就学会了,但由于我们的大多数系统都是实时的,我不敢做出任何剧烈的改变,以防基于这些系统的网站完全崩溃 我的问题是,目前有以下代码: SELECT * FROM ( SELECT p.product, p.description, p.warehouse, CASE WHEN RIGHT(RTRIM(p.product),2) = '+P' THEN (SELE

我刚从一位前员工那里学到工作,而且对SQL非常陌生,我似乎很快就学会了,但由于我们的大多数系统都是实时的,我不敢做出任何剧烈的改变,以防基于这些系统的网站完全崩溃

我的问题是,目前有以下代码:

SELECT  *
FROM
(
SELECT  p.product,
        p.description,
        p.warehouse,
        CASE
            WHEN RIGHT(RTRIM(p.product),2) = '+P' THEN (SELECT physical_qty - allocated_qty FROM scheme.stockm p2 WHERE p2.warehouse = p.warehouse AND p2.product = REPLACE(p.product, '+P', ''))
            WHEN RIGHT(RTRIM(p.product),2) = '+P1' THEN (SELECT physical_qty - allocated_qty FROM scheme.stockm p2 WHERE p2.warehouse = p.warehouse AND p2.product = REPLACE(p.product, '+P1', ''))
            ELSE physical_qty - allocated_qty
        END AS 'Stock',
        CASE
            WHEN warehouse = 'X1' THEN trade.price * 0.85
            ELSE trade.price * 0.8
        END AS 'Price'
FROM    scheme.stockm p INNER JOIN
        scheme.oplistm AS trade WITH(NOLOCK) ON p.product = trade.product_code AND trade.price_list = 'MT'
WHERE   (warehouse = 'X1'
OR      warehouse = 'X2')
AND     analysis_b <> '0421'
AND     analysis_b <> '0531'
AND     analysis_b <> '0409'
) AS t
WHERE t.Stock > 0
AND RTRIM(product) + '+P' NOT IN
(SELECT product
FROM    scheme.stockm
WHERE   warehouse = 'X1'
OR      warehouse = 'X2')
AND RTRIM(product) + '+P1' NOT IN
(SELECT product
FROM    scheme.stockm
WHERE   warehouse = 'X1'
OR      warehouse = 'X2')
AND     product NOT LIKE 'BAG%'
AND     product NOT LIKE 'MDS%'
AND     UPPER(description) NOT LIKE '%STAND%'
这段代码浏览了当前所有产品的价目表,除了标题中包含+p的我们的产品系列?我想知道需要对当前代码做些什么才能将产品范围包含在+p中?因为这需要包括在内

任何帮助都将不胜感激

问候
Dean Gent

删除和RTRIMproduct+“+p”不在scheme.stockm中的SELECT product FROM scheme.stockm WHERE warehouse='X1'或warehouse='X2'您正在使用哪个DBMS?关系数据库-Microsoft SQL Server感谢您的回复Mihai,但这并没有解决我的问题,只是为了更清楚一点,我只想提供+P型号的价格,所以任何带有+P且产品名称相同的产品都应该取代没有+P的型号。如果它没有+p,那么它只会显示产品的正常价格。