MYSQL - 连接两个表

时间:2010-10-20 01:52:46

标签: sql mysql concatenation

我有两张表如下:

    TABLE A                    TABLE B
 StuID | actid              FacID | actid
  3       12                  98      17
  5       17                  54      21

我想列出参加活动17的每个人,包括学生和教师的名字。无论如何,我可以得到如下结果:

 id  | actid
 98     17
 5      17

没有创建新表(只使用表达式或派生关系的嵌套)?

actid上的JOIN会给出类似的内容:

StuID  | FacID  | actid
 5        98        17

我想我需要一种连接形式?

4 个答案:

答案 0 :(得分:16)

select * from table_a where actid = 17
union all
select * from table_b where actid = 17

您可能(或可能不)需要对不唯一的ID执行某些操作,例如

select 'Student', table_a.* from table_a where actid = 17
union all
select 'Faculty', table_b.* from table_b where actid = 17

答案 1 :(得分:1)

你想要UNION ALL:

(SELECT * FROM tablea)UNION ALL(SELECT * FROM table)

我认为这些括号是正确的。我记得MySQL对此很挑剔。

答案 2 :(得分:0)

太容易了 select tableA.stuId,tableA.actId, tableB.facId,tableB.actId  来自tableA,tableB  tableA.actid = tableB.actid;`

答案 3 :(得分:-3)

您可以使用selectfromwhere来连接这两个表。