0

現在、行が重複しているという問題が発生しています。これが私がする必要があることです。条件が満たされたときに重複行を抑制し、条件が満たされていないときに残りの行をリストする必要があります。

SELECT
    SHPMNT_NO, TOT_WEIGHT, HAZARD
FROM       
    dbo.DVUD_Prep

現在の出力:

SHPMNT_NO  TOT_WEIGHT  HAZARD
---------  ----------  ------
000133701  100
000133702  120
000133703  461
000133703  461        Y
000133704  100
000133705  122

望ましい出力: (ハザード <> N の重複行である出荷番号 000133703 をリストしていません。ここで複数の検索を行いましたが、同様のシナリオが見つかりません。

SHPMNT_NO  TOT_WEIGHT  HAZARD
---------  ----------  ------
000133701  100
000133702  120
000133703  461         Y
000133704  100
000133705  122

申し訳ありませんが、黄色のブロックにテキストまたはデータを表示する方法がわかりません。助けていただければ幸いです。

ありがとう

4

2 に答える 2

0

Hazard が空白または「Y」の場合は、 and を使用MAX()GROUP BYて目的の出力を取得できます。

SELECT SHPMNT_NO,  TOT_WEIGHT, MAX(HAZARD) 'HAZARD'
FROM YourTable
GROUP BY SHPMNT_NO, TOT_WEIGHT 

これは、ハザードが「Y」または「N」の場合にも機能します。

于 2013-07-25T15:51:54.297 に答える