SQL 语句如下:
select isnull(count(x.bit_id),0) from base_band x join base_series y on y.bit_bandid=x.bit_id
join base_modal z on z.bit_seriesid=y.bit_id
join veh_vehicle veh on veh.bit_carmodel = z.bit_id
join
(select xs.bit_customer_id from VEH_SaleOrder xs
union select jxs.bit_customerid from VEH_DealSellInfo jxs
) as hj
on hj.bit_customer_id=veh.bit_customer_id 我现在的问题是 其中 最后一个join 的子查询中的数据是应该是整个 查询结果的正确数据,但是 结果会多出 ,怎样让 最后一个join 之前的数据 和 子查询中的数据相吻合? 请高手帮忙!!
select isnull(count(x.bit_id),0) from base_band x join base_series y on y.bit_bandid=x.bit_id
join base_modal z on z.bit_seriesid=y.bit_id
join veh_vehicle veh on veh.bit_carmodel = z.bit_id
join
(select xs.bit_customer_id from VEH_SaleOrder xs
union select jxs.bit_customerid from VEH_DealSellInfo jxs
) as hj
on hj.bit_customer_id=veh.bit_customer_id 我现在的问题是 其中 最后一个join 的子查询中的数据是应该是整个 查询结果的正确数据,但是 结果会多出 ,怎样让 最后一个join 之前的数据 和 子查询中的数据相吻合? 请高手帮忙!!
FROM BASE_BAND X
INNER JOIN BASE_SERIES Y ON Y.BIT_BANDID = X.BIT_ID
INNER JOIN BASE_MODAL Z ON Z.BIT_SERIESID = Y.BIT_ID
INNER JOIN VEH_VEHICLE VEH ON VEH.BIT_CARMODEL = Z.BIT_ID
INNER JOIN (SELECT XS.BIT_CUSTOMER_ID
FROM VEH_SALEORDER XS
UNION
SELECT JXS.BIT_CUSTOMERID FROM VEH_DEALSELLINFO JXS) AS HJ ON HJ.BIT_CUSTOMER_ID = VEH.BIT_CUSTOMER_ID
inner join base_series y on y.bit_bandid=x.bit_id
inner join base_modal z on z.bit_seriesid=y.bit_id
inner join veh_vehicle veh on veh.bit_carmodel = z.bit_id
right join
(select xs.bit_customer_id from VEH_SaleOrder xs
union select jxs.bit_customerid from VEH_DealSellInfo jxs
) as hj
on hj.bit_customer_id=veh.bit_customer_id
left right inner exists 都试过了就是不对,但可能就是 顺序 和位置 有问题 不知道 我说的明白吗!
(
[id] int not null
)create table #tb
(
[id] int not null,
[name] varchar(10)
)insert into #ta values(1)
insert into #ta values(1)
insert into #ta values(2)
insert into #ta values(2)insert into #tb values(2,'a')
insert into #tb values(2,'b')select #tb.[name] from #ta join #tb on #ta.[id]=#tb.[id]
drop table #ta
drop table #tb对于#tb来说,它只有两条数据,但联合后的结果是四条,这不也是正常的吗
但是有必须要 统计x.bit_id 这个字段 找不到原因在那里 希望 你能 指点一下 谢谢 !!
join base_modal z on z.bit_seriesid=y.bit_id
join veh_vehicle veh on veh.bit_carmodel = z.bit_id
join
(select xs.bit_customer_id from VEH_SaleOrder xs
union select jxs.bit_customerid from VEH_DealSellInfo jxs
) as hj
on hj.bit_customer_id=veh.bit_customer_id
group by xxx具体按什么分组你看着办。