我有两张表如下:
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
我想我需要一种连接形式?
答案 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)
您可以使用select
,from
和where
来连接这两个表。