私が持っている2つのテーブル、患者と医師の郵便番号とその郵便番号の呼び出しの数を取得しようとしています。郵便番号 79555 の患者が 5 人いる場合、カウントは 5 になるように、郵便番号を数えることで #of 呼び出しを取得しています。患者テーブルにその郵便番号を持つ 3 人がいて、医師テーブルに 4 人の人がいる場合、郵便番号と7.以下のユニオンを試してみました。一見、やりたいように見えますが、重複する郵便番号を合算したいのですが、合算でsum関数を使えますか?または、結合を作成する必要がありますか?
SELECT zip_code, COUNT(zip_code) AS Num_Patient_Calls FROM patients GROUP BY zip_code
UNION ALL
SELECT zip_code, COUNT(zip_code) AS Num_Physician_Calls FROM physicians GROUP BY zip_code
編集: 解決策 Gordon と dweiss からの応答を使用して、この SQL コードを生成しました。それは、同じ値を持つかどうかに関係なく、無関係なテーブルから 2 つのフィールドを取得し、各テーブルでその値を持つレコードの数を数え、両方のテーブルの結果を合計するという、私が望むことです。例: 患者テーブルに郵便番号 99709 の 6 つのインスタンス、医師テーブルに 1 つのインスタンスがあり、表示される値は 99709 - 7 です。
SELECT zip_code, SUM(Patient_Calls) FROM (
SELECT zip_code, COUNT(zip_code) AS Patient_Calls FROM patients GROUP BY zip_code
UNION ALL
SELECT zip_code, COUNT(zip_code) AS Physician_Calls FROM physicians GROUP BY zip_code
) AS new_table
GROUP BY zip_code ORDER BY `new_table`.`zip_code`