2017-02-03 1 views
-3

Используя этот запрос:Как скрыть Повторную запись в SQL

SELECT 
     linerbltbl.billofladingid, 
     linerbltbl.grossweighttotal, 
     linerb‌​ltbl.netweighttotal, 
     linerblwisecontainerdetailstbl.containertype, 
     linerblwisecont‌​ainerdetailstbl.cont‌​ainernumber, 
     linerblwisecontainerdetailstbl.sealnumber, 
     linerblwisecontain‌​erdetailstbl.princip‌​lecharge 
FROM linerbltbl, 
     linerblwisecontainerdetailstbl 
WHERE linerbltbl.shippername IS NOT NULL 
     AND linerbltbl.billofladingid = 
      linerblwisecontainerdetailstbl.bil‌​lofladingid 

См this изображения. Он показывает, что мой вывод IS и что бы я хотел.

Вы заметите, что повторяющиеся данные заглушены. Есть ли способ сделать это в моем запросе?

+0

'выбрать отличный * от table'? – GurV

+0

Извините, что у меня возникла некоторая проблема с загрузкой изображения. Теперь проверьте изображение \ – sarode111

+0

Пожалуйста, ** не ** отправляйте изображения кода или данных образца. Добавьте отформатированный ввод образца и ожидаемый результат вместе с логикой, стоящей за ним. Также опубликуйте, что вы пробовали до сих пор. – GurV

ответ

0

Прежде всего, я думаю, вы идете об этом неправильно. Хотя вы МОЖЕТЕ сделать это из самого запроса (см. Страницу this), вам, вероятно, лучше делать это во всем, что есть , потребляя выход. Например, если вы берете эти данные и вставляете их в MS Excel, вы можете проверить сообщение this, которое выполняется через условное форматирование. Если вы потребляете его из внутреннего кода, вы можете добавить логику для его обработки (поскольку я не знаю, что вы собираетесь с ним делать, трудно добавить какие-либо примеры).

Но, если вы настаиваете делать это изнутри SQL это будет что-то на этот счет (заимствование из связанного примера):

;with t as 
(SELECT 
     linerbltbl.billofladingid, 
     linerbltbl.grossweighttotal, 
     linerb‌​ltbl.netweighttotal, 
     linerblwisecontainerdetailstbl.containertype, 
     linerblwisecont‌​ainerdetailstbl.cont‌​ainernumber, 
     linerblwisecontainerdetailstbl.sealnumber, 
     linerblwisecontain‌​erdetailstbl.princip‌​lecharge 
FROM linerbltbl, 
     linerblwisecontainerdetailstbl 
WHERE linerbltbl.shippername IS NOT NULL 
     AND linerbltbl.billofladingid = 
      linerblwisecontainerdetailstbl.bil‌​lofladingid 
) 
SELECT 
    CASE WHEN RR = 1 THEN billofladingid ELSE '' END BillOfLadingID, 
    CASE WHEN RR = 1 THEN grossweighttotal ELSE '' END GrossWeight, 
    CASE WHEN RR = 1 THEN netweighttotal ELSE '' END NetWeight, 
    containertype, 
    cont‌​ainernumber, 
    sealnumber, 
    princip‌​lecharge 
FROM 
    (SELECT (ROW_NUMBER() OVER(PARTITION BY billofladingid ORDER BY billofladingid, grossweighttotal)) [RR], * 
    FROM t) SUBQUERY1