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关联两张表查数据,结果只显示一条。的主要内容,如果未能解决你的问题,请参考以下文章

如何用SQL语句查询两张表中的相同字段数据

sql查询:使用内连接查询两张表的时候,如果左边表的一条记录对应了右边表的两条记录,结果显示排列问题

SQL JOIN 数据库表关联关系

sql两张表(主表和字典表)关联查询,字典项翻译问题

SQL怎么把两个表的数据合在一起查询!?

Oracle两张表关联中间表查询,那张关联到数据就显示,关联不到就负空值