SQL とデータベースは初めてです。それらを使用して、学術論文のデータをコーディングしています(関連する情報タグをさまざまな文に割り当てます)。私は周りを見回しましたが、SQL に慣れていないため、答えを見つける正しい方法を見逃している可能性があります。
特定のフィールドのテーブルごとにコードのすべてのインスタンスをカウントしたいいくつかのテーブルがあります。コードには、必要に応じて更新できる一連のコードがあります。他のテーブルには、コードを使用して入力されるフィールドがあります。
コード ID GR SR CT 1S 2A 3P 4 S 5 する 6 IO 7T 8 私 データ1 ID IGR ISR ICT 1 SST 2Pドット 3 SIO I 4SDOI データ2 ID IGR ISR ICT 1 AST 2 AST 3 PST 4Pドット 予想された結果: コード.GR DATA1.IGR DATA2.IGR S 3 0 0 2 P 1 2
次のコードを試しました:
SELECT "CODES"."CT",
COUNT ("IGR") AS "DATA1.IGR",
COUNT ("IGR") AS "DATA2.IGR"
FROM
"DATA1", "DATA2"
JOIN "CODES" ON "CODES"."GR" = "DATA1"."IGR"
JOIN "CODES" ON "CODES"."GR" = "DATA2"."IGR"
GROUP BY
"CODES"."GR"
これにより、テーブルごとのコードごとに 1000 秒という結果が得られますが、テーブルごとのコードごとに 100 未満と予想されます。さまざまな JOIN を試してみましたが、役に立ちませんでした。
コード番号は、列ごとに 15 ~ 20 以上です。SUM CASE WHEN は、コードを追加するたびに更新されないため、理想的とは言えません。クエリを一緒に UNION する方法がある場合、出力の形式は必ずしも固定されているわけではありません。理想的なクエリは、CODES.column からすべてのコードを取得し、すべてのインスタンスをカウントし、使用されていない場合は 0 を返します。この単一のクエリを 11 個のテーブルで実行したいと考えています。
HSQL データベース エンジンを実行する OpenOffice Base を使用しています。
助けてくれてありがとう