我试图不在结果列表的ORDER列中显示重复值;但是,我显示重复" ORDER"值。我怎样才能解决这个问题?
select i.contractnumber as "CONTRACT NUMBER", t.ordernumber as
"ORDER", t.title as "ORDER TITLE", c.companyname as "COMPANY",
LEFT(cs.firstname, 1) +'. '+ cs.lastname as "TECHINICAN",
REPLACE(cs.CONTACT,'703-735-', 'x') as "CONTACT (703) 735....)"
from Company c inner join CONTRACTS i
on i.Company_ID = c.Company_ID
inner join Orders t
on t.ordernumberid = i.ordernumberid
inner join hub rut
on rut.titleOrder_ID = t.titleOrder_ID
inner join hub2 r
on r.Role_ID = rut.Role_ID
inner join Customer u
on u.Customer_ID = rut.Customer_ID
inner join CORD cs
on cs.CORD_ID = u.CORD_ID
inner join Method cv
on cv.Method_ID = i.Method_ID
where cs.Contact LIKE '%703-735-%'
and cv.Method_ID = 1;
答案 0 :(得分:2)
解决这个问题的简单方法是使用一个组 - 例如GROUP BY Order
但是如果您有其他列的多个值,则会出现问题 - 您可以选择一个值 - 例如最大。这就像这样:
select
max(i.contractnumber) as "CONTRACT NUMBER",
t.ordernumber as "ORDER",
max(mat.title) as "ORDER TITLE",
max(c.companyname) as "COMPANY",
max(LEFT(cs.firstname, 1) +'. '+ cs.lastname) as "TECHINICAN",
max(REPLACE(cs.CONTACT,'703-735-', 'x')) as "CONTACT (703) 735....)"
-- etc as you have
-- ...
-- end with
GROUP BY t.ordernumber