我有一个主表fc\u master,它包含一个名为fc\u id的列。该列有fc\u id1、fc\u id2等值。我还为不同类别的每个fc\u id提供了相应的详细信息表,即类别\u 1 \u fc\u id1、类别\u 2 \u fc\u id1、类别\u 1 \u fc\u id2、类别\u 2 \u fc\u id2。
这使我的表总数达到5个,即fc\u master、category\u 1\u fc\u id1、category\u 2\u fc\u id1、category\u 1\u fc\u id2、category\u 2\u fc\u id2。
我想生成一个 Oracle SQL
该查询允许您提供一个单独的fc\u id作为输入,以便自动从相应的fc\u id表中提取。我怎样才能做到这一点?
1条答案
按热度按时间sqyvllje1#
请简化/更正您的表名…为什么在一个地方使用fc\u id1,在另一个地方使用fc\u id\u 1?你能在这两个地方都使用fc\ U id1吗?两个都一样。
尽量使表名和列名独立于fc\u id和category\u id中的数据,这样代码就可以是静态的,而不是动态的sql。
请重新设计以使用具有fc\u id的fc\u master(单个master)和具有fc\u id和category\u id的fc\u detail(单个detail)。在detail table中重复master table的主键,这样一个detail table就足够了,而不是4个。
可选-如果数据太大,则根据需要在fc\ id(主)和类别\ id(辅助)上使用分区。