因此,我已数据松散排列是这样的:如何在一个(排除)列上选择DISTINCT,但在查询中包含其他列? (ORACLE)
表1 - 人们:为person_id(主键),PARENT_ID,child_id,other_parent_fields,other_child_fields
表2 - 父母:PARENT_ID(自动递增的主key),other_fields 表3 - 儿童:child_id(自动递增主键),parent_id(外键引用PARENTS)other_fields
我希望能够从PEOPLE表中查询所有不同的父母,并插入将所有other_parent_fields放入PARENTS表中,从favo中抛出表1中的旧parent_id在表2中
我的自动递增PARENT_ID的[R我也想要做孩子一样,但保持父子关系,只有用自己的IDS从表2和表3
从本质上讲,我试图改变数据库的设计方式。我并没有为所有人提供整张桌子,而是创建了一个PARENTS表和一个CHILDREN表,后者是指带有外键的PARENTS。我从表1中删除id的原因是因为我没有理由在我的新表中关心它们(即编号可以从1开始,并且其他条目可以只是自动递增主键)。但是,在放弃表1中的这些ID之前,我需要捕获它们中继的父子关系。
这甚至可能吗?人们会怎么做呢?
我们可以假设,为了简单起见,没有孩子的孩子,即一个人不能成为父母和孩子
这是否只能是SQL?你可以写一个接口来完成这个任务的应用程序吗?或者你必须使用PL/SQL? – TJR
我只能使用sql。 – finiteloop
我想我会先建立类似于你的新表的临时表,但增加一列来保存旧的ID,并用它来引用回旧数据,应该使查询更简单。 –