SQL关联两张表查数据,结果只显示一条。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL关联两张表查数据,结果只显示一条。相关的知识,希望对你有一定的参考价值。
有两张表,一张user 有一callphone字段,另外一张user_pro 有两个字段:callphone和user_id字段。我要以user表中的callphone字段作为标准,去查user_pro字段中的user_id。但是我用left join或inner join 都只能查询出一条数据,实际上是多条数据的。这个是怎么回事?
参考技术A 你是要看一张表
和
外键关联的表?
以下
sql
语句,
在
sql
2005
以上版本可用
select
osub.name
as
[子表名称],
fk.name
as
[外键名称],
subcol.name
as
[子表列名],
omain.name
as
[主表名称],
maincol.name
as
[主表列名]
from
sys.foreign_keys
fk
join
sys.all_objects
osub
on
(fk.parent_object_id
=
osub.object_id)
join
sys.all_objects
omain
on
(fk.referenced_object_id
=
omain.object_id)
join
sys.foreign_key_columns
fkcols
on
(fk.object_id
=
fkcols.constraint_object_id)
join
sys.columns
subcol
on
(osub.object_id
=
subcol.object_id
and
fkcols.parent_column_id
=
subcol.column_id)
join
sys.columns
maincol
on
(omain.object_id
=
maincol.object_id
and
fkcols.referenced_column_id
=
maincol.column_id) 参考技术B 我的主表是2113flowertype,子表是flower_info,我要根据主表的5261id同时修改两个表中鲜花类型相4102同的1653字段
如果你是双表关联更改数据版,用Navicat
for
mysql设置一下子表的索引就可以权了
MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)
有两张表,info1, info2 。
info1:
info2:
现在,要用info2中的数据更新info1中对应的学生信息,sql语句如下:
UPDATE info1 t1 JOIN info2 t2 ON t1.name = t2.name SET t1.age = t2.age, t1.class = t2.class;
运行结果如下:
更新过的info1:
至于效率问题,之前我有三张表,都在40万左右。需要将 table2 中的两个字段(step1),table3 中的一个字段(step2),更新到 table1 中。step1 用时半个小时左右,而 step2 用了两个多小时,不知为何。三个表都根据一个相同字段建立了唯一索引。
本人装了 navicat 破解版,垃圾,有时候越着急,就越是卡。
以上是关于SQL关联两张表查数据,结果只显示一条。的主要内容,如果未能解决你的问题,请参考以下文章