Pour une raison quelconque, je ne parviens pas à restreindre mes résultats à des produits dont le statut de prix est "normal." Lorsque j'utilise une clause where comme where pricestatus like 'normal'
, le jeu de résultats filtre également les autres enregistrements. toutes les idées ici?Impossible de filtrer les résultats définis dans la requête SQL Server
SELECT
od.order_id,
ISNULL(p.pricestatus,'normal') as pricestatus,
ISNULL(od.partnumber,'unknown') as partnumber,
od.product_id,
od.producttitle,
qty,
od.price,
extprice,
customfield1 AS prodstatus,
ISNULL(categorytitle,'-') AS categorytitle,
needbydate,
customfield2 AS vendor,
(SELECT opttitle
FROM options o
WHERE Charindex(',' + Cast(o.opt_id AS VARCHAR) + ',',',' + opt_ids + ',') > 0
AND optlevel = 1) AS color,
(SELECT opttitle
FROM options o
WHERE Charindex(',' + Cast(o.opt_id AS VARCHAR) + ',',',' + opt_ids + ',') > 0
AND optlevel = 2) AS size,
od.producttitle + ISNULL((SELECT opttitle
FROM options o
WHERE Charindex(',' + Cast(o.opt_id AS VARCHAR) + ',',',' + opt_ids + ',') > 0
AND optlevel = 1),'') + ISNULL((SELECT opttitle
FROM options o
WHERE Charindex(',' + Cast(o.opt_id AS VARCHAR) + ',',',' + opt_ids + ',') > 0
AND optlevel = 2),'') + Cast(od.price AS VARCHAR(15)) AS pkey
FROM
orderdetails od
INNER JOIN orders ord ON ord.order_id = od.order_id
LEFT OUTER JOIN products p ON p.product_id = od.product_id
LEFT OUTER JOIN objectgroups ob ON p.objectgroup_id = ob.objectgroup_id
LEFT OUTER JOIN categories c ON ob.category_id = c.category_id
WHERE
1=1
AND ord.shippingdate BETWEEN {ts '2009-10-05 00:01:00'} AND {ts '2009-10-21 23:59:59'}
AND ISNULL(ord.status,0) IN (5,12)
AND ISNULL(ord.status,0) <> 6
AND ISNULL(ord.status,0) <> 10
AND ISNULL(ord.status,0) <> 7
AND ISNULL(ord.status,0) <> 8
ORDER BY
pkey
Vous l'homme Justin. Vous avez résolu mon problème. – jeff
De rien, Jeff :) –