日期:2014-05-17  浏览次数:20484 次

这段SQL是什么意思,From后面的我看不懂
select distinct  p.c_store_id , pg.c_gcode ,p.c_adno,pg.c_pt_in as 采购信息变更单新成本 , i.c_pt_in as 批次成本,i.c_n_remain as 批次库存,i.c_orig_provider as 原始供应商
from shq_srv.enjoy_shq.dbo.tb_o_cgp p(nolock)
inner join 
shq_srv.enjoy_shq.dbo.tb_o_cgpg pg(nolock)
on p.c_id = pg.c_id

不清楚的地方是下面这句,以前看到过好像是远程连接?
shq_srv.enjoy_shq.dbo.tb_o_cgp p
SQL

------解决方案--------------------
shq_srv.enjoy_shq.dbo.tb_o_cgp:
shq_srv链接服务器名
enjoy_shq数据库名
dbo架构名
tb_o_cgp表名
最后那个p是表别名
------解决方案--------------------
#1.看下你的SQL SERVER上有没有链接服务器shq_srv?你的实例-》服务器对象-》链接服务器。
#2.引用链接服务器上的对象,需要用4部分来限定:链接服务器名.数据库名.架构名.对象名

------解决方案--------------------
引用:
jion on 和 inner join 有什么区别么

SELECT DISTINCT
        p.c_store_id ,
        pg.c_gcode ,
        p.c_adno ,
        pg.c_pt_in AS 采购信息变更单新成本 ,
        i.c_pt_in AS 批次成本 ,
        i.c_n_remain AS 批次库存 ,
        i.c_orig_provider AS 原始供应商
FROM    shq_srv.enjoy_shq.dbo.tb_o_cgp p ( NOLOCK ) --nolock是指,查询时不加任何锁
        INNER JOIN shq_srv.enjoy_shq.dbo.tb_o_cgpg pg ( NOLOCK )  --JOIN是inner join的缩写形式
ON p.c_id = pg.c_id --ON是指它上面的两个表连接时的匹配条件