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

时间:2014-10-31 09:22:08

标签: 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

1 个答案:

答案 0 :(得分:1)

只需通过ID B连接两个表并过滤Table1:

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

希望它有所帮助!