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のジョブを選択したいのですが、それらの詳細は、実行時までわからない任意のテーブル(テーブルJobの列タイプによって異なります)に含めることができます。

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 に答える