2017-07-17 12 views
0

特定のカラムのカウントを含む新しいテーブルを作成しようとしています。カウントしたい列には、異なる組織名が含まれています。私は、カウントと組織名の2つの列を含む新しいテーブルを作成しました。カウントを動作させることはできましたが、テーブルに挿入する方法を理解することはできません。 これは私が現在持っているものです:MySQL - テーブルへのカウントの挿入

INSERT INTO ORG_countnumber (COUNT_number, OrgLBN) 
SELECT 
    COUNT(*), OrgLBN FROM ORG_NPI_HumanName_Add_Phone GROUP BY OrgLBN 
as COUNT_number, 
OrgLBN 
AS OrgLBN 
FROM ORG_NPI_HumanName_Add_Phone; 

ありがとうございます!

+1

ビューがうまくいく場合があります。 – Kyle

+0

これだけではない理由は次のとおりです。' SELECT COUNT(*)、ORG_NPI_HumanName_Add_PhoneからOrgLBN GROUP BY OrgLBN'(ORG_countnumber、OrgLBN) – Hackerman

答えて

0

GROUP BYを間違った場所に置きます。

INSERT INTO ORG_countnumber (COUNT_number, OrgLBN) 
SELECT COUNT(*), OrgLBN 
FROM ORG_NPI_HumanName_Add_Phone 
GROUP BY OrgLBN 

しかし、コメントで示唆されたように、ビューはここでより多くの意味になるかもしれない:

CREATE VIEW orgCountView AS 
SELECT COUNT(*), OrgLBN 
FROM ORG_NPI_HumanName_Add_Phone 
GROUP BY OrgLBN 
INSERT INTO ORG_countnumber (COUNT_number, OrgLBN) 
SELECT 
    COUNT(*) as COUNT_number, OrgLBN 
FROM ORG_NPI_HumanName_Add_Phone 
GROUP BY OrgLBN; 
1

私はあなたのクエリの最初の半分は正しい軌道に乗ったと思います

ビューが理にかなっているのは、テーブル内のカウントが常に変化する可能性があるため、ORG_countnumberテーブル内のデータが簡単に失効する可能性があるからです。ビューを使用すると、新しい表にコミットせずに最新の数値を取得できます。

関連する問題