一个表只能有一个主键,主键可以建在一个字段上,也可以建在多个字段上。
如果是在多上字段上建立了一个主键,其中部分字段的值可以相同,只要不是全部主键字段的值相同就行。
你说的应该是想主键中其中一个字段的值相同吧。
比较是否相同,如果只是相同才放入到map1的话,可以写sql,条件为两张表的id相等
select
from
数据库a表名
a
,数据库b表名
b
where
aid
=
bid
不同的数据库sql不同,需要修改,sqlserver数据库名后要加所有者,一般是dbo
oracle有wm_concat函数可以实现。
如果其他数据库的话,你百度一下数据库 + wm_concat
比如 sqlserver wmconcat,
会有人写的自定义的实现这个功能的函数。
标示列为非空自动增长且 不可自行修改的 主关键字一般用来在一个表中引用来自于另一个表中的特定记录 其为非空 唯一的 其可以有一个以上的列合为主键 相同点就是都不可为空且都是唯一的 能理解这些就够用了 给分吧!
select xa,min(yb) b from x inner join y on xa=ya group by xa
select ya,min(yb) b from y group by ya
以上就是关于SQL 一个表有两个主键 其中一个主键的内容可不可以相同全部的内容,包括:SQL 一个表有两个主键 其中一个主键的内容可不可以相同、要比较2个不同数据库的2张相同的表的主键ID是否相同,什么方法最快、SQL如何将一列的相同主键的数据,改写到一行中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)