INSERT INTO UFDATA_002_2017.dbo.bas_part (PartId, InvCode, bVirtual)
SELECT max(PartId)+1, InvCode, bVirtual
FROM UFDATA_003_2017.dbo.bas_part
WHERE InvCode = '3333' group by InvCode, bVirtual
INSERT INTO UFDATA_002_2017.dbo.bom_parent
( AutoId,BomId,ParentId, ParentScrap, SharingPartId)
SELECT AutoId,BomId, ParentId, ParentScrap, SharingPartId
FROM UFDATA_003_2017.dbo.bom_parent inner join UFDATA_003_2017.dbo.bas_part
on UFDATA_003_2017.dbo.bom_parent.ParentId =UFDATA_003_2017.dbo.bas_part.PartId
WHERE InvCode ='3333'
我要怎么写才能把bas_part中的partid 复制到bom_parent的parentid中?
我写的插入的parentid肯定是不对的,是直接复制另一个表的partid
15 个解决方案
#1
INSERT INTO UFDATA_002_2017.dbo.bom_parent
( AutoId ,
BomId ,
UFDATA_003_2017.dbo.bas_part.PartId ,
ParentScrap ,
SharingPartId
)
SELECT AutoId ,
BomId ,
ParentId ,
ParentScrap ,
SharingPartId
FROM UFDATA_003_2017.dbo.bom_parent
INNER JOIN UFDATA_003_2017.dbo.bas_part ON UFDATA_003_2017.dbo.bom_parent.ParentId = UFDATA_003_2017.dbo.bas_part.PartId
WHERE InvCode = '3333'
#2
忽略1#,用这个试试
INSERT INTO UFDATA_002_2017.dbo.bom_parent
( AutoId ,
BomId ,
ParentId ,
ParentScrap ,
SharingPartId
)
SELECT AutoId ,
BomId ,
UFDATA_003_2017.dbo.bas_part.PartId ,
ParentScrap ,
SharingPartId
FROM UFDATA_003_2017.dbo.bom_parent
INNER JOIN UFDATA_003_2017.dbo.bas_part ON UFDATA_003_2017.dbo.bom_parent.ParentId = UFDATA_003_2017.dbo.bas_part.PartId
WHERE InvCode = '3333'
#3
不对,我要复制 UFDATA_002_2017.dbo.bas_part中的partid值到UFDATA_002_2017.dbo.bom_parent中的parentid。
partid和perentid 是关联字段,因为002.bas_part的partid不是从003中复制过来的,而是取002.bas_part中该字段的最大值+1
懂我的意思吗
#4
要复制UFDATA_002_2017.dbo.bas_part的数据,关联UFDATA_003_2017.dbo.bas_part表干什么?如果是也要插入UFDATA_003_2017.dbo.bas_part表中的数据,可以用子查询试试,或者不出现一对多的关系的话,再关联一个UFDATA_002_2017.dbo.bas_part表进行插入也行
#5
表bas_parent 的字段parentid要取 UFDATA_002_2017.dbo.bas_part的partid ,其他字段还是要从UFDATA_003_2017.dbo.bom_parent中取
#6
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
#7
要复制UFDATA_002_2017.dbo.bas_part的数据,关联UFDATA_003_2017.dbo.bas_part表干什么?如果是也要插入UFDATA_003_2017.dbo.bas_part表中的数据,可以用子查询试试,或者不出现一对多的关系的话,再关联一个UFDATA_002_2017.dbo.bas_part表进行插入也行
表bas_parent 的字段parentid要取 UFDATA_002_2017.dbo.bas_part的partid ,其他字段还是要从UFDATA_003_2017.dbo.bom_parent中取
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
我就是这个问题,要取UFDATA_002_2017.dbo.bas_part里的partid。
#8
我就是这个问题,要取UFDATA_002_2017.dbo.bas_part里的partid。
……我知道楼主要取这个
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
#9
UFDATA_002_2017.dbo.bas_part
难点就是在这,我也不知道通过什么去关联,因为这个是唯一的关联字段
我就是这个问题,要取UFDATA_002_2017.dbo.bas_part里的partid。
……我知道楼主要取这个
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
难点就是在这,我也不知道通过什么去关联,因为这个是唯一的关联字段
#10
UFDATA_002_2017.dbo.bas_part
我就是这个问题,要取UFDATA_002_2017.dbo.bas_part里的partid。
……我知道楼主要取这个
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
难点就是在这,我也不知道通过什么去关联,因为这个是唯一的关联字段
这不是难点……这是表设计或者需求有问题……
#11
UFDATA_002_2017.dbo.bas_part
我就是这个问题,要取UFDATA_002_2017.dbo.bas_part里的partid。
……我知道楼主要取这个
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
难点就是在这,我也不知道通过什么去关联,因为这个是唯一的关联字段
这不是难点……这是表设计或者需求有问题……
能通过设置变量 或者空值 去取值吗
#12
UFDATA_002_2017.dbo.bas_part
我就是这个问题,要取UFDATA_002_2017.dbo.bas_part里的partid。
……我知道楼主要取这个
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
难点就是在这,我也不知道通过什么去关联,因为这个是唯一的关联字段
这不是难点……这是表设计或者需求有问题……
能通过设置变量 或者空值 去取值吗
每次复制的时候时候都是只有一条记录,只要去002中partid的最大值不就可以吗
#13
每次复制的时候时候都是只有一条记录,只要去002中partid的最大值不就可以吗
INSERT INTO UFDATA_002_2017.dbo.bom_parent
( AutoId ,
BomId ,
ParentId ,
ParentScrap ,
SharingPartId
)
SELECT AutoId ,
BomId ,
( SELECT MAX(PartId)
FROM UFDATA_002_2017.dbo.bas_part
) ,
ParentScrap ,
SharingPartId
FROM UFDATA_003_2017.dbo.bom_parent
INNER JOIN UFDATA_003_2017.dbo.bas_part ON UFDATA_003_2017.dbo.bom_parent.ParentId = UFDATA_003_2017.dbo.bas_part.PartId
WHERE InvCode = '3333'
#14
第1次:
SELECT max(PartId)+1, InvCode, bVirtual
FROM UFDATA_003_2017.dbo.bas_part
WHERE InvCode = '3333' group by InvCode, bVirtual
第2次:
SELECT max(PartId) ,InvCode, bVirtual
FROM UFDATA_003_2017.dbo.bas_part
WHERE InvCode = '3333' group by InvCode, bVirtual
这2个值就是相同的,但多机版,就不一定了。
SELECT max(PartId)+1, InvCode, bVirtual
FROM UFDATA_003_2017.dbo.bas_part
WHERE InvCode = '3333' group by InvCode, bVirtual
第2次:
SELECT max(PartId) ,InvCode, bVirtual
FROM UFDATA_003_2017.dbo.bas_part
WHERE InvCode = '3333' group by InvCode, bVirtual
这2个值就是相同的,但多机版,就不一定了。
#15
bas_part 中PartId的值怎么来?
#1
INSERT INTO UFDATA_002_2017.dbo.bom_parent
( AutoId ,
BomId ,
UFDATA_003_2017.dbo.bas_part.PartId ,
ParentScrap ,
SharingPartId
)
SELECT AutoId ,
BomId ,
ParentId ,
ParentScrap ,
SharingPartId
FROM UFDATA_003_2017.dbo.bom_parent
INNER JOIN UFDATA_003_2017.dbo.bas_part ON UFDATA_003_2017.dbo.bom_parent.ParentId = UFDATA_003_2017.dbo.bas_part.PartId
WHERE InvCode = '3333'
#2
忽略1#,用这个试试
INSERT INTO UFDATA_002_2017.dbo.bom_parent
( AutoId ,
BomId ,
ParentId ,
ParentScrap ,
SharingPartId
)
SELECT AutoId ,
BomId ,
UFDATA_003_2017.dbo.bas_part.PartId ,
ParentScrap ,
SharingPartId
FROM UFDATA_003_2017.dbo.bom_parent
INNER JOIN UFDATA_003_2017.dbo.bas_part ON UFDATA_003_2017.dbo.bom_parent.ParentId = UFDATA_003_2017.dbo.bas_part.PartId
WHERE InvCode = '3333'
#3
忽略1#,用这个试试INSERT INTO UFDATA_002_2017.dbo.bom_parent
( AutoId ,
BomId ,
ParentId ,
ParentScrap ,
SharingPartId
)
SELECT AutoId ,
BomId ,
UFDATA_003_2017.dbo.bas_part.PartId ,
ParentScrap ,
SharingPartId
FROM UFDATA_003_2017.dbo.bom_parent
INNER JOIN UFDATA_003_2017.dbo.bas_part ON UFDATA_003_2017.dbo.bom_parent.ParentId = UFDATA_003_2017.dbo.bas_part.PartId
WHERE InvCode = '3333'
不对,我要复制 UFDATA_002_2017.dbo.bas_part中的partid值到UFDATA_002_2017.dbo.bom_parent中的parentid。
partid和perentid 是关联字段,因为002.bas_part的partid不是从003中复制过来的,而是取002.bas_part中该字段的最大值+1
懂我的意思吗
#4
要复制UFDATA_002_2017.dbo.bas_part的数据,关联UFDATA_003_2017.dbo.bas_part表干什么?如果是也要插入UFDATA_003_2017.dbo.bas_part表中的数据,可以用子查询试试,或者不出现一对多的关系的话,再关联一个UFDATA_002_2017.dbo.bas_part表进行插入也行
#5
要复制UFDATA_002_2017.dbo.bas_part的数据,关联UFDATA_003_2017.dbo.bas_part表干什么?如果是也要插入UFDATA_003_2017.dbo.bas_part表中的数据,可以用子查询试试,或者不出现一对多的关系的话,再关联一个UFDATA_002_2017.dbo.bas_part表进行插入也行
表bas_parent 的字段parentid要取 UFDATA_002_2017.dbo.bas_part的partid ,其他字段还是要从UFDATA_003_2017.dbo.bom_parent中取
#6
要复制UFDATA_002_2017.dbo.bas_part的数据,关联UFDATA_003_2017.dbo.bas_part表干什么?如果是也要插入UFDATA_003_2017.dbo.bas_part表中的数据,可以用子查询试试,或者不出现一对多的关系的话,再关联一个UFDATA_002_2017.dbo.bas_part表进行插入也行
表bas_parent 的字段parentid要取 UFDATA_002_2017.dbo.bas_part的partid ,其他字段还是要从UFDATA_003_2017.dbo.bom_parent中取
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
#7
要复制UFDATA_002_2017.dbo.bas_part的数据,关联UFDATA_003_2017.dbo.bas_part表干什么?如果是也要插入UFDATA_003_2017.dbo.bas_part表中的数据,可以用子查询试试,或者不出现一对多的关系的话,再关联一个UFDATA_002_2017.dbo.bas_part表进行插入也行
表bas_parent 的字段parentid要取 UFDATA_002_2017.dbo.bas_part的partid ,其他字段还是要从UFDATA_003_2017.dbo.bom_parent中取
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
我就是这个问题,要取UFDATA_002_2017.dbo.bas_part里的partid。
#8
我就是这个问题,要取UFDATA_002_2017.dbo.bas_part里的partid。
……我知道楼主要取这个
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
#9
UFDATA_002_2017.dbo.bas_part
难点就是在这,我也不知道通过什么去关联,因为这个是唯一的关联字段
我就是这个问题,要取UFDATA_002_2017.dbo.bas_part里的partid。
……我知道楼主要取这个
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
难点就是在这,我也不知道通过什么去关联,因为这个是唯一的关联字段
#10
UFDATA_002_2017.dbo.bas_part
我就是这个问题,要取UFDATA_002_2017.dbo.bas_part里的partid。
……我知道楼主要取这个
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
难点就是在这,我也不知道通过什么去关联,因为这个是唯一的关联字段
这不是难点……这是表设计或者需求有问题……
#11
UFDATA_002_2017.dbo.bas_part
我就是这个问题,要取UFDATA_002_2017.dbo.bas_part里的partid。
……我知道楼主要取这个
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
难点就是在这,我也不知道通过什么去关联,因为这个是唯一的关联字段
这不是难点……这是表设计或者需求有问题……
能通过设置变量 或者空值 去取值吗
#12
UFDATA_002_2017.dbo.bas_part
我就是这个问题,要取UFDATA_002_2017.dbo.bas_part里的partid。
……我知道楼主要取这个
怎么和UFDATA_002_2017.dbo.bas_part这个表关联的?怎么去取这个表里的PartId值?如果是通过ParentId,那就不用取了,因为ParentId和PartId是一样的
难点就是在这,我也不知道通过什么去关联,因为这个是唯一的关联字段
这不是难点……这是表设计或者需求有问题……
能通过设置变量 或者空值 去取值吗
每次复制的时候时候都是只有一条记录,只要去002中partid的最大值不就可以吗
#13
每次复制的时候时候都是只有一条记录,只要去002中partid的最大值不就可以吗
INSERT INTO UFDATA_002_2017.dbo.bom_parent
( AutoId ,
BomId ,
ParentId ,
ParentScrap ,
SharingPartId
)
SELECT AutoId ,
BomId ,
( SELECT MAX(PartId)
FROM UFDATA_002_2017.dbo.bas_part
) ,
ParentScrap ,
SharingPartId
FROM UFDATA_003_2017.dbo.bom_parent
INNER JOIN UFDATA_003_2017.dbo.bas_part ON UFDATA_003_2017.dbo.bom_parent.ParentId = UFDATA_003_2017.dbo.bas_part.PartId
WHERE InvCode = '3333'
#14
第1次:
SELECT max(PartId)+1, InvCode, bVirtual
FROM UFDATA_003_2017.dbo.bas_part
WHERE InvCode = '3333' group by InvCode, bVirtual
第2次:
SELECT max(PartId) ,InvCode, bVirtual
FROM UFDATA_003_2017.dbo.bas_part
WHERE InvCode = '3333' group by InvCode, bVirtual
这2个值就是相同的,但多机版,就不一定了。
SELECT max(PartId)+1, InvCode, bVirtual
FROM UFDATA_003_2017.dbo.bas_part
WHERE InvCode = '3333' group by InvCode, bVirtual
第2次:
SELECT max(PartId) ,InvCode, bVirtual
FROM UFDATA_003_2017.dbo.bas_part
WHERE InvCode = '3333' group by InvCode, bVirtual
这2个值就是相同的,但多机版,就不一定了。
#15
bas_part 中PartId的值怎么来?