select A.rq as 日期,A.id as ID,A.t1 as 采购单号,A.xs as 货物销售总金额,A.zfsm as 支付方式说明,B.t2 as 货物销售金额,A.name as 产品名称,A.gg as 规格,A.dj as 产品单价,A.sl as 产品数量,A.jg as 采购价格 from (select O_code as t3,sum(taborder_clild.gongji) as t2 from taborder_clild group by taborder_clild.O_code ) as B join (select Taborders.Id as id,Taborders.F1 as zfsm,Convert(varchar(10),Taborders.Dates,120) AS rq,tabproduct.pro_name as name ,taborder_clild.pro_price as dj,taborder_clild.guige as gg,taborder_clild.pro_number as sl,Taborders.OrderCode as t1,Prices AS xs,tabsend_child.pro_price as jg from tabproduct,taborder_clild,Taborders,tabsend_child where tabproduct.id=taborder_clild.pro_id and taborder_clild.O_code=Taborders.OrderCode and Taborders.OrderCode=tabsend_child.ordercode and Taborders.OrderCode=tabsend_child.ordercode and tabsend_child.pro_price>0 and (Dates BETWEEN '2008-7-27' AND '2008-7-27')) as A on A.t1=B.t3 就是 合并得到的语句 A.rq as 日期,A.id as ID,A.t1 as 采购单号,A.xs as 货物销售总金额,A.zfsm as 支付方式说明,B.t2 as 货物销售金额,A.name as 产品名称,A.gg as 规格,A.dj as 产品单价,A.sl as 产品数量,A.jg as 采购价格 该怎么写啊
select distinct A.rq as 日期,A.id as ID,A.t1 as 采购单号,A.xs as 货物销售总金额,A.zfsm as 支付方式说明,B.t2 as 货物销售金额,A.name as 产品名称,A.gg as 规格,A.dj as 产品单价,A.sl as 产品数量,A.jg as 采购价格 from (select O_code as t3,sum(taborder_clild.gongji) as t2 from taborder_clild group by taborder_clild.O_code ) as B join (select Taborders.Id as id,Taborders.F1 as zfsm,Convert(varchar (10),Taborders.Dates,120) AS rq,tabproduct.pro_name as name ,taborder_clild.pro_price as dj,taborder_clild.guige as gg,taborder_clild.pro_number as sl,Taborders.OrderCode as t1,Prices AS xs,tabsend_child.pro_price as jg from tabproduct,taborder_clild,Taborders,tabsend_child where tabproduct.id=taborder_clild.pro_id and taborder_clild.O_code=Taborders.OrderCode and Taborders.OrderCode=tabsend_child.ordercode and Taborders.OrderCode=tabsend_child.ordercode and tabsend_child.pro_price>0 and (Dates BETWEEN '2008-7-27' AND '2008-7-27')) as A on A.t1=B.t3 放到这里试试,你的语句够夸张了的,那么长,搞个视图什么的简化一下也好
晕 distinct就是 distinct
distinct 这样的方法 还是不行出现这样的错误 服务器: 消息 156,级别 15,状态 1,行 2 Incorrect syntax near the keyword 'distinct'. 服务器: 消息 156,级别 15,状态 1,行 5 Incorrect syntax near the keyword 'as'. 服务器: 消息 156,级别 15,状态 1,行 17 Incorrect syntax near the keyword 'as'.
你没试试看? 你所谓的合并应该就是 取唯一吧 譬如 table xx aa bb cc dd 1 2 3 4 1 2 3 4 2 3 4 5用了select distinct * from xx 后就是aa bb cc dd 1 2 3 4 2 3 4 5了 重复记录就没了啊这个DISTINCT就能满足需求啊
你再加一层,呵呵,这个办法是傻了点select distinct * from ( select A.rq as 日期,A.id as ID,A.t1 as 采购单号,A.xs as 货物销售总金额,A.zfsm as 支付方式说明,B.t2 as 货物销售金额,A.name as 产品名称,A.gg as 规格,A.dj as 产品单价,A.sl as 产品数量,A.jg as 采购价格 from (select O_code as t3,sum(taborder_clild.gongji) as t2 from taborder_clild group by taborder_clild.O_code ) as B join (select Taborders.Id as id,Taborders.F1 as zfsm,Convert(varchar (10),Taborders.Dates,120) AS rq,tabproduct.pro_name as name ,taborder_clild.pro_price as dj,taborder_clild.guige as gg,taborder_clild.pro_number as sl,Taborders.OrderCode as t1,Prices AS xs,tabsend_child.pro_price as jg from tabproduct,taborder_clild,Taborders,tabsend_child where tabproduct.id=taborder_clild.pro_id and taborder_clild.O_code=Taborders.OrderCode and Taborders.OrderCode=tabsend_child.ordercode and Taborders.OrderCode=tabsend_child.ordercode and tabsend_child.pro_price>0 and (Dates BETWEEN '2008-7-27' AND '2008-7-27')) as A on A.t1=B.t3 )
NicolasCage 你的代码 出现这样的错误,,最后的括号 附近 有错误Line 31: Incorrect syntax near ')'.
因为 我的sql 语句得到 很多 整条整条 相同的数据,,
distinct 就是去掉重复记录的
from
(select O_code as t3,sum(taborder_clild.gongji) as t2 from taborder_clild group by taborder_clild.O_code ) as B
join
(select Taborders.Id as id,Taborders.F1 as zfsm,Convert(varchar(10),Taborders.Dates,120) AS rq,tabproduct.pro_name as name ,taborder_clild.pro_price as dj,taborder_clild.guige as gg,taborder_clild.pro_number as sl,Taborders.OrderCode as t1,Prices AS xs,tabsend_child.pro_price as jg from tabproduct,taborder_clild,Taborders,tabsend_child where tabproduct.id=taborder_clild.pro_id and taborder_clild.O_code=Taborders.OrderCode and Taborders.OrderCode=tabsend_child.ordercode and Taborders.OrderCode=tabsend_child.ordercode and tabsend_child.pro_price>0 and (Dates BETWEEN '2008-7-27' AND '2008-7-27')) as A
on A.t1=B.t3 就是 合并得到的语句
A.rq as 日期,A.id as ID,A.t1 as 采购单号,A.xs as 货物销售总金额,A.zfsm as 支付方式说明,B.t2 as 货物销售金额,A.name as 产品名称,A.gg as 规格,A.dj as 产品单价,A.sl as 产品数量,A.jg as 采购价格
该怎么写啊
from
(select O_code as t3,sum(taborder_clild.gongji) as t2 from taborder_clild group by taborder_clild.O_code ) as B
join
(select Taborders.Id as id,Taborders.F1 as zfsm,Convert(varchar (10),Taborders.Dates,120) AS rq,tabproduct.pro_name as name ,taborder_clild.pro_price as dj,taborder_clild.guige as gg,taborder_clild.pro_number as sl,Taborders.OrderCode as t1,Prices AS xs,tabsend_child.pro_price as jg from tabproduct,taborder_clild,Taborders,tabsend_child where tabproduct.id=taborder_clild.pro_id and taborder_clild.O_code=Taborders.OrderCode and Taborders.OrderCode=tabsend_child.ordercode and Taborders.OrderCode=tabsend_child.ordercode and tabsend_child.pro_price>0 and (Dates BETWEEN '2008-7-27' AND '2008-7-27')) as A
on A.t1=B.t3 放到这里试试,你的语句够夸张了的,那么长,搞个视图什么的简化一下也好
distinct就是 distinct
这样的方法 还是不行出现这样的错误
服务器: 消息 156,级别 15,状态 1,行 2
Incorrect syntax near the keyword 'distinct'.
服务器: 消息 156,级别 15,状态 1,行 5
Incorrect syntax near the keyword 'as'.
服务器: 消息 156,级别 15,状态 1,行 17
Incorrect syntax near the keyword 'as'.
你所谓的合并应该就是 取唯一吧
譬如
table xx
aa bb cc dd
1 2 3 4
1 2 3 4
2 3 4 5用了select distinct * from xx
后就是aa bb cc dd
1 2 3 4
2 3 4 5了
重复记录就没了啊这个DISTINCT就能满足需求啊
select A.rq as 日期,A.id as ID,A.t1 as 采购单号,A.xs as 货物销售总金额,A.zfsm as 支付方式说明,B.t2 as 货物销售金额,A.name as 产品名称,A.gg as 规格,A.dj as 产品单价,A.sl as 产品数量,A.jg as 采购价格
from
(select O_code as t3,sum(taborder_clild.gongji) as t2 from taborder_clild group by taborder_clild.O_code ) as B
join
(select Taborders.Id as id,Taborders.F1 as zfsm,Convert(varchar (10),Taborders.Dates,120) AS rq,tabproduct.pro_name as name ,taborder_clild.pro_price as dj,taborder_clild.guige as gg,taborder_clild.pro_number as sl,Taborders.OrderCode as t1,Prices AS xs,tabsend_child.pro_price as jg from tabproduct,taborder_clild,Taborders,tabsend_child where tabproduct.id=taborder_clild.pro_id and taborder_clild.O_code=Taborders.OrderCode and Taborders.OrderCode=tabsend_child.ordercode and Taborders.OrderCode=tabsend_child.ordercode and tabsend_child.pro_price>0 and (Dates BETWEEN '2008-7-27' AND '2008-7-27')) as A
on A.t1=B.t3 )
在SQL版好像很多关于去重复记录的贴子找一找