postgreSQL表继承
目前,我有一个继承了四个表的事件表: 健康问题、药物、疫苗接种和就诊 我正试图构造一个查询,返回每个继承表中的所有信息 使用此查询:postgreSQL表继承,postgresql,Postgresql,目前,我有一个继承了四个表的事件表: 健康问题、药物、疫苗接种和就诊 我正试图构造一个查询,返回每个继承表中的所有信息 使用此查询: SELECT p.relname, v.*, h.*, m.*, va.* FROM visits v, health_problems h, medications m, vaccinations va, pg_class p WHERE v.tableoid = p.oid OR h.tableoid = p.oid OR m.tableoid =
SELECT p.relname, v.*, h.*, m.*, va.*
FROM visits v, health_problems h, medications m, vaccinations va, pg_class p
WHERE v.tableoid = p.oid OR h.tableoid = p.oid OR m.tableoid = p.oid OR va.tableoid = p.oid;
返回看似重复的信息。谁能帮我指出我可能忽略了什么
编辑:下面列出的表格内容
事件
健康问题
药物治疗
疫苗接种
拜访
编辑:
样本输出如下所示
查询pg_类表以返回从中提取条目的表的名称
最好的,
奥特曼请改进你的问题。1.您在查询中使用了未定义的访问,它是否与事件相同?。2.药物定义两次,哪一个是正确的?3.鉴于您提供的内容,所需的输出是什么?4.创建表和执行插入的脚本也将非常有用。返回重复信息的确切含义是什么?你能显示你的结果集吗?为什么你要查询pg_类?所有的OR在where子句中做什么?提示:rewite to JOIN syntaxI包括返回每个表的结果,是否有更好的替代方案?
id | dateEntered| petID
----------+-----------+----------
1 | 2015-10-31| 4
1 | 2015-10-31| 5
1 | 2015-10-31| 5
1 | 2015-10-31| 4
2 | 2015-10-31| 5
2 | 2015-11-01| 4
2 | 2015-11-01| 4
id | dateEntered| petID | description | dateOccurred
----------+-----------+---------+-------------+--------------
1 | 2015-10-31| 4 | Is a CAT | 2015-04-10
1 | 2015-10-31| 5 |Is ALSO A CAT| 2015-04-10
id | dateEntered| petID | name | frequency
----------+-----------+---------+-------------+--------------
1 | 2015-10-31| 5 | Valium | All Day E'rday
2 | 2015-11-01| 4 | Morphine | Whenever
id | dateEntered| petID | description | dateGiven
----------+-----------+---------+-----------------+--------------
1 | 2015-10-31| 4 |Scarlet fever pox| 2015-10-31
id | dateEntered| petID | location | dateVisited
----------+-----------+---------+--------------+--------------
1 | 2015-10-31| 5 |Fish Hatchery | 2015-10-31
2 | 2015-11-01| 4 |Doggy Daycare | 2015-10-31