กำลังเลือกฟิลด์ที่ไม่ซ้ำ / แตกต่างบน DB2 หรือไม่

สวัสดี ฉันได้เขียนข้อความค้นหาที่คาดว่าจะดึงรหัสไปรษณีย์ของสถานที่สองแห่งและราคาของสถานที่เหล่านั้น อย่างไรก็ตาม ฉันต้องการเพียงหนึ่งรหัสไปรษณีย์ต่อผู้จัดส่ง แต่ด้วยเหตุผลบางอย่าง มันยังคงส่งคืนหลายช่อง

SELECT UNIQUE LEFT(T.ORIGPC,3) SHIP_ZIP,  LEFT(T.DESTPC,3) DEST_ZIP, BILL_NUMBER, T.ORIGCITY, T.ORIGPROV, 
T.DESTCITY, T.DESTPROV, A.RATE, T.DISTANCE
FROM TLORDER T, ACHARGE_TLORDER A
WHERE CREATED_TIME >= CURRENT TIMESTAMP - 1 MONTH
AND BILL_NUMBER <> '0'
AND DISTANCE <> '0'
AND RATE <> '0'
AND RATE NOT LIKE '-%'
AND DISTANCE NOT LIKE '-%'
AND ORIGPC <> ''
AND REQUESTED_CODE = 'FS_STD' 
AND A.DETAIL_LINE_ID = T.DETAIL_LINE_ID
AND DESTPC <> ''
AND BILL_NUMBER NOT LIKE 'Q%'
AND ACODE_ID = 'FS_STD'
AND RATE <= '2' 
ORDER BY LEFT(ORIGPC,3)

หมายเลขบิลที่ซ่อนอยู่ด้วยเหตุผลที่ชัดเจน

ผลลัพธ์ที่คาดหวัง ป้อนคำอธิบายรูปภาพที่นี่


person OVO    schedule 07.12.2015    source แหล่งที่มา
comment
คุณสามารถรวมผลลัพธ์ที่คาดหวังไว้ได้หรือไม่?   -  person zedfoxus    schedule 07.12.2015
comment
UNIQUE หมายถึงอะไร? (แต่ละแถวมีความแตกต่างกันที่นี่)   -  person jarlh    schedule 07.12.2015
comment
คุณได้ลอง distinct ด้วย group by ประโยคแล้วหรือยัง?   -  person shaikh    schedule 07.12.2015
comment
ฉันลองจัดกลุ่มแล้วและได้รับข้อผิดพลาด 42803   -  person OVO    schedule 07.12.2015
comment
คุณจะระบุกลุ่มของคุณตามคำสั่งหรือไม่?   -  person shaikh    schedule 07.12.2015
comment
เลือก LEFT ที่แตกต่างกัน (T.ORIGPC,3) SHIP_ZIP, LEFT(T.DESTPC,3) DEST_ZIP, BILL_NUMBER, T.ORIGCITY, T.ORIGPROV, T.DESTCITY, T.DESTPROV, A.RATE, T.DISTANCE จาก TLORDER T , ACHARGE_TLORDER A โดยที่ CREATED_TIME ›= การประทับเวลาปัจจุบัน - 1 เดือนและ BILL_NUMBER ‹› '0' และระยะทาง ‹› '0' และอัตรา ‹› '0' และอัตราไม่เหมือน '-%' และระยะทางไม่เหมือน '-%' และ ORIGPC ‹› '' AND REQUESTED_CODE = 'FS_STD' และ A.DETAIL_LINE_ID = T.DETAIL_LINE_ID AND DESTPC ‹› '' AND BILL_NUMBER NOT LIKE 'Q%' AND ACODE_ID = 'FS_STD' AND RATE ‹= '2' จัดกลุ่มทางซ้าย ( origpc,3) เรียงตามซ้าย(ORIGPC,3)   -  person OVO    schedule 07.12.2015
comment
จัดกลุ่มตาม LEFT(T.ORIGPC,3) SHIP_ZIP, LEFT(T.DESTPC,3) DEST_ZIP, BILL_NUMBER, T.ORIGCITY, T.ORIGPROV, T.DESTCITY, T.DESTPROV, A.RATE, T.DISTANCE   -  person shaikh    schedule 07.12.2015
comment
@SHAIKH ทำงานโดยส่งคืนค่าเดียวกันทั้งที่ไม่ซ้ำและแตกต่าง   -  person OVO    schedule 07.12.2015


คำตอบ (1)


ลบ Bill_number และระยะทาง! ด้วยเหตุนี้จึงมีการเติมรหัสไปรษณีย์ที่ไม่ซ้ำกันเท่านั้น ขอบคุณสำหรับเวลาของคุณ

person OVO    schedule 07.12.2015