2

目標は、 「9%」のようなItemNumberのレコードのみを持つ顧客を除外するか、フラグを立てることです。

    CustomerID  ItemNumber
    85610           99
    85611           11
    85611           99
    85612           13
    85612           11
    85612           98
    85613           98
    85613           99

この例では、CustomerID 86510および86513は除外するか、フラグを立てる必要があります。これらのレコードに関連付けられているItemNumberは「9%」のようなものだけだからです。

何か助けていただければ幸いです。

4

5 に答える 5

6
SELECT CustomerID, ItemNumber
FROM dbo.table AS t
WHERE NOT EXISTS
(
    SELECT 1
    FROM dbo.table 
    WHERE CustomerID = t.CustomerID 
    AND ItemNumber NOT LIKE '9%'
);
于 2012-07-25T20:34:10.747 に答える
2
SELECT 
    CustomerID
FROM Table T
WHERE NOT EXISTS (SELECT CustomerID FROM Table WHERE CustomerId = T.CustomerId AND ItemNumber NOT LIKE '9%')
于 2012-07-25T20:35:07.203 に答える
2

別のオプション

SELECT CustomerID
FROM YourTable
GROUP BY CustomerID
HAVING MAX(CASE WHEN ItemNumber LIKE '9%' THEN 1 END) = 1
    AND MAX(CASE WHEN ItemNumber NOT LIKE '9%' THEN 1 END) IS NULL
于 2012-07-25T20:40:51.567 に答える
0
create table tc(CustomerID int,ItemNumber varchar(10))

INSERT INTO tc
VALUES(85610,99),
    (85611,11),
    (85611,99),
    (85612,13),
    (85612,11),
    (85612,98),
    (85613,98),
    (85613,99)

select CustomerID from tc 
where ItemNumber like '9%'
group by CustomerID 

except

select CustomerID from tc 
where ItemNumber not like '9%'
group by CustomerID 
于 2012-07-26T06:41:49.713 に答える
-1

私が何かを見逃していない限りWHEREItemNumber NOT LIKE '9%'

于 2012-07-25T20:35:35.887 に答える