mysql - 过滤表1的列并通过与另一个字段匹配从表2中获取结果

标签 mysql sql database

设置:

#---------#     #---------#
# table 1 #     # table 2 #
#---------#     #---------#
#ID A    *#  |--#ID B    *#
#ID B    *#--|  #DATA X  *#
#DATA Z   #     #DATA Y   #
#---------#     #---------#

(*) = 主键

想要的结果:

过滤“ID A”并获取表 2 中具有“ID B”的所有数据

示例:

表 1

ID A | ID B | DATA Z
  1     2       z1
  1     3       z2
  2     5       z5

表 2:

ID B | DATA X | DATA Y |
  2      xy      yx
  3      x1      y1
  3      x2      y2
  4      x4      y4

将 ID A 过滤为“1”,结果:

ID A | ID B | DATA X | DATA Y
  1     2       xy       yx
  1     3       x1       y1
  1     3       x2       y2

最佳答案

只需按 ID B 连接两个表并筛选 Table1:

SELECT table1.idA,
       table2.*
  FROM table1
  JOIN table2
    ON table1.idB = table2.idB
 WHERE table1.idA = 1;

希望对你有帮助!

关于mysql - 过滤表1的列并通过与另一个字段匹配从表2中获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26671175/

相关文章:

sql - mysql存储过程不释放锁

mysql - Rails SQL 按最近收藏的帖子排序

sql - Postgres 中的记录交集

sql - 在持续集成下删除和创建数据库的可靠方法

java - 在网络应用程序中上传图像

php adodb StartTrans() 不工作?

mysql - 个人/群组消息传递架构

php - 使用 Select 表单过滤使用 PHP 从 MySQL 查询的表

mysql - MySQL中有这样的列类型吗?

c# - 具有相同列的相同表的数据建模