gpt4 book ai didi

sql - 这个问题应该正确查询什么?

转载 作者:行者123 更新时间:2023-11-29 14:05:56 25 4
gpt4 key购买 nike

伙计们,我有一个问题,我要总结 4 个表格。

这个数据库在PostgreSQL上,模型关系是继承

表 1:(人)

id: character
name: character
last_name:character
age: character

表 2:student(从 Person 继承)

id: character (imported from person)         
name: character (imported from person)
last_name:character (imported from person)
age: character (imported from person)
college: character
courses: character

表 3:教师(从 Person 继承)

id: character (imported from person)        
name: character (imported from person)
last_name:character (imported from person)
age: character (imported from person)
license: integer
date_empl: date
years_working: integer

当然,我希望通过单个查询获取代码所属的两个表之一的所有信息。

我做不到

SELECT *
FROM STUDENT
WHERE ID = {{whatever}}

因为是静态的,我想搜索(ID {{whatever}}在另一个表中。

我试过了

SELECT *
FROM STUDENT
WHERE ID = {{whatever}}

UNION ALL

SELECT *
FROM TEACHER
WHERE ID = {{whatever}}

但它不起作用,因为 UNION需要在 2 个表中具有相同数量的列

如何通过一次查询获得一个人的详细信息,无论是教授还是学生?或者我可以通过什么方式做到这一点?

最佳答案

使用 UNION 是一种解决方案。当列不同时,您可以在输出中生成多个列,并在它们不可用的记录中用 NULL 填充它们。

SELECT id, name, last_name, age, college, courses, null, null FROM student
UNION ALL
SELECT id, name, last_name, age, null, null, license, date_empl FROM teacher

关于sql - 这个问题应该正确查询什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54432281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com