Table1
id REQNo Qty
D10 RD780 10
D1A RD786 20
D20 RD34 30
D2A RD34 40
有(1,2)(即,)D1和D2
如何找到2個字段是否相等在同一列
對於D1,如果RD780不等於RD786然後數量的兩個相等的子串將相同
對於D2,因爲具有相同RD34然後總和(數量)爲70
需要的輸出
id ReqNo Qty
D10 RD780 10
D1A RD786 20
D20 RD34 70
Table1
id REQNo Qty
D10 RD780 10
D1A RD786 20
D20 RD34 30
D2A RD34 40
有(1,2)(即,)D1和D2
如何找到2個字段是否相等在同一列
對於D1,如果RD780不等於RD786然後數量的兩個相等的子串將相同
對於D2,因爲具有相同RD34然後總和(數量)爲70
需要的輸出
id ReqNo Qty
D10 RD780 10
D1A RD786 20
D20 RD34 70
這似乎工作:
declare @t table (id char(3),REQNo varchar(5),Qty int)
insert into @t(id,REQNo,Qty) values
('D10','RD780',10),
('D1A','RD786',20),
('D20','RD34', 30),
('D2A','RD34', 40)
select MIN(id) as id,REQNo,SUM(Qty) as Qty
from @t
group by SUBSTRING(REQNo,1,2),REQNo
其中由事實MIN(id)
將是相同的id
對於最終只包含一個行組的工作。
id REQNo Qty
---- ----- -----------
D20 RD34 70
D10 RD780 10
D1A RD786 20
SELECT COUNT (*) , First_name, Last_Name, Mobile, Mobile1, Company, Job_title, Tel, Fax, Email, Email1, Country
from dbo.Visitors
where (your where statement) GROUP BY First_name, Last_Name, Mobile, Mobile1, Company, Job_title, Website, Tel, Fax, Email, Email1, Country
HAVING COUNT (*)>1
create table #t(id varchar(10),reg varchar(10),qty int)
insert into #t values('D10','RD780',10),
('D1A','RD786',20),
('D20','RD34',30),
('D2A','RD34',40)
select min(id),reg,sum(qty) from #t group by reg
什麼原因...'GROUP BY子串()'爲什麼不強制'...通過regno'組? –
@VijaykumarHadalgi - 因爲OP似乎在討論基於D1和D2的匹配行,這兩個字符是該列的前兩個字符。 –