Мне поручено написать отчет, который тянет заказы в соответствии с позициями в этом порядке. Как только я получу правильные результаты, я буду использовать SSRS для создания отчета для конечных пользователей. В основном, что мне нужно сделать, это запросить таблицу с номерами заказа клиента, позициями, датой и т. Д. Каждый заказ имеет несколько позиций. Они хотят знать, есть ли в заказе позиция, называемая ASR, SERVICE, или если ни один из них не находится там.Попытка сравнить результаты с предыдущими результатами
SELECT DISTINCT
arcust.loctid,
sodate,
somast.custno,
somast.sono,
somast.route,
item
FROM
somast
INNER JOIN arcust ON somast.custno = arcust.custno
INNER JOIN sotran ON somast.sono = sotran.sono
WHERE
sodate = '06-04-2015' AND
somast.sostat NOT IN('X','V') AND
route IN ('220','221')
Это то, что я использую, но оно тянет все позиции. Как я могу потянуть только одну позицию за заказ, если у нее есть позиция ASR или SERVICE или ни одна из них?
Вот результаты этого запроса:
loctid sodate custno sono route item
OMAHA 2015-06-04 00:00:00.000 10268 4399062 221 10788
OMAHA 2015-06-04 00:00:00.000 10268 4399062 221 SALESDEL
OMAHA 2015-06-04 00:00:00.000 2298 4399308 221 10291
OMAHA 2015-06-04 00:00:00.000 2298 4399308 221 10445
OMAHA 2015-06-04 00:00:00.000 2298 4399308 221 10448
OMAHA 2015-06-04 00:00:00.000 2298 4399308 221 10751
OMAHA 2015-06-04 00:00:00.000 2298 4399308 221 21016
OMAHA 2015-06-04 00:00:00.000 2298 4399308 221 21030
OMAHA 2015-06-04 00:00:00.000 2298 4399308 221 23002
OMAHA 2015-06-04 00:00:00.000 2298 4399308 221 66262
OMAHA 2015-06-04 00:00:00.000 2298 4399308 221 ASR
OMAHA 2015-06-04 00:00:00.000 2513 4399451 221 10329
OMAHA 2015-06-04 00:00:00.000 2513 4399451 221 10520
OMAHA 2015-06-04 00:00:00.000 2513 4399451 221 10910
OMAHA 2015-06-04 00:00:00.000 2513 4399451 221 11010
OMAHA 2015-06-04 00:00:00.000 2513 4399451 221 21772
OMAHA 2015-06-04 00:00:00.000 2513 4399451 221 SALESDEL
OMAHA 2015-06-04 00:00:00.000 514 4399287 221 11437
OMAHA 2015-06-04 00:00:00.000 514 4399287 221 SERVICE
OMAHA 2015-06-04 00:00:00.000 8449 4399314 221 30405
Я хотел бы видеть, как это:
loctid sodate custno sono route item
OMAHA 2015-06-04 00:00:00.000 10268 4399062 221 SALESDEL
OMAHA 2015-06-04 00:00:00.000 2298 4399308 221 ASR
OMAHA 2015-06-04 00:00:00.000 2513 4399451 221 10329
OMAHA 2015-06-04 00:00:00.000 514 4399287 221 SERVICE
OMAHA 2015-06-04 00:00:00.000 8449 4399314 221 30405
JamesZ - Я этого нужно просто хочу, чтобы тянуть линию, которая имеет ASR или SERVICE или если ни один не в порядке, то я хотел бы, чтобы как-то знать, что ни один не в порядке – user3394606
В ваших желаемых результатов, почему у custno 10268 есть SALESDEL, но у 2513 есть «10329», когда SALESDEL является одним из предметов? В любом случае вы должны будете делать то, что хотите, с помощью оператора CASE WHEN EXISTS(). –