我有3张桌子:
1.company_master
id com_name unique_id
1 stackoverflow ABCD
2 google EFGH
2.internal_employee_master
id employee_name unique_id
1 Noah ABCD
2 Liam ABCD
3 William ABCD
4 Benjamin ABCD
5 Jacob EFGH
3.external_employee_master
id employee_name unique_id
1 Elijah ABCD
2 Ethan ABCD
3 Alexander EFGH
我在所有公司和onchange活动中都有一个动态选择框 我希望特定雇员的所有内部和外部雇员都在同一行。 例如
如果用户将从选择框中选择 stackoverflow ,则用户将从internal_employee_master
和external_employee_master
获取所有数据:
id employee_name unique_id
1 Noah ABCD
2 Liam ABCD
3 William ABCD
4 Benjamin ABCD
1 Elijah ABCD
2 Ethan ABCD
如何创建查询以获取上述数据,然后如何将其插入 一张表中的数据,以标识谁是
internal_employee
或external_employee
是谁。我总共只有一列unique_id
3张桌子。
答案 0 :(得分:0)
您可以使用UNION
返回两个表的合并结果...
select id, employee_name, unique_id
from internal_employee_master
where unique_id = 'ABCD'
union
select id, employee_name, unique_id
from external_employee_master
where unique_id = 'ABCD'
尽管您最好将两个表组合在一起,并且仅使用一些标志来指示哪些是内部雇员,哪些是外部雇员。
如果需要确定不同类型的员工,则可以在行中添加标记...
select id, employee_name, unique_id, "Internal" as typeOfEmployee
from internal_employee_master
where unique_id = 'ABCD'
union
select id, employee_name, unique_id, "External" as typeOfEmployee
from external_employee_master
where unique_id = 'ABCD'
答案 1 :(得分:0)
您可以使用UNION CLAUSE
。
SELECT employee_name, unique_id FROM internal_employee_master WHERE unique_id = 'ABCD'
UNION
SELECT employee_name, unique_id FROM external_employee_master WHERE unique_id = 'ABCD'
SQL UNION子句/运算符用于合并两个或多个SELECT语句的结果,而不会返回任何重复的行。