0

假设我得到了这个 SQL 模式。

表作业:

id,title, type, is_enabled

表 JobFileCopy:

job_id,from_path,to_path

表 JobFileDelete:

job_id, file_path

表 JobStartProcess:

job_id, file_path, arguments, working_directory

还有许多其他具有不同列数的表,它们都有外键 job_id,它链接到表 Job 中的 id。

我的问题:
这是正确的方法吗?我不需要随时删除任何内容。我主要需要选择和插入。

其次,从单个数据库命中的所有不同表中获取具有相关详细信息的作业列表的最佳方法是什么?例如,我想选择前 20 个具有详细信息的作业,它们的详细信息可以在任何表中(取决于表作业中的列类型),直到运行时我才知道。

4

1 回答 1

0
select (case when type = 'type1' then (select field from table1) else (select field from table2) end) as a from table;

它可以成为您的解决方案吗?

于 2012-09-27T00:13:57.687 回答