0

SQL Server にクエリがあります

SELECT
    k12_dms_contacts_master.prefix_id AS prefix,
    k12_dms_contacts_master.first_name,
    k12_dms_contacts_master.last_name,
    k12_dms_contacts_master.email,
    k12_dms_institution_master.inst_name,
    k12_dms_institution_master.address,
    k12_dms_cities.name AS city_name,
    k12_dms_zip_codes.zip_code,
    k12_dms_institution_master.type_id,
    k12_dms_contacts_institution_jobtitles.glevel_id,
    k12_dms_districts.name AS district_name,
    k12_dms_counties.name AS county_name,
    k12_dms_institution_master.state_id,
    k12_dms_institution_master.phone,
    k12_dms_contacts_institution_jobtitles.job_title_id
FROM
    k12_dms_institution_master
INNER JOIN k12_dms_contacts_institution_jobtitles ON k12_dms_contacts_institution_jobtitles.inst_id = k12_dms_institution_master.id
INNER JOIN k12_dms_contacts_master ON k12_dms_contacts_institution_jobtitles.contact_id = k12_dms_contacts_master.id
INNER JOIN k12_dms_cities ON k12_dms_cities.id = k12_dms_institution_master.city_id
INNER JOIN k12_dms_districts ON k12_dms_districts.id = k12_dms_institution_master.district_id
INNER JOIN k12_dms_counties ON k12_dms_counties.id = k12_dms_institution_master.county_id
INNER JOIN k12_dms_zip_codes ON k12_dms_zip_codes.id = k12_dms_institution_master.zip_code_id
WHERE
    k12_dms_zip_codes.zip_code IN ('92678', '92679', '92688', '92690', '92691', '92692', '92693', '92694', '92877',
                                   '92879', '92881', '92883')
ORDER BY
    k12_dms_institution_master.state_id,
    k12_dms_institution_master.inst_name ASC

GROUP BY今、私は電子メールアドレスと機関名で実行したいのですが、このエラーが発生しています:

列 'k12_dms_contacts_master.prefix_id' は、集計関数にも GROUP BY 句にも含まれていないため、選択リストでは無効です。

どんな助けも非常に高く評価されます。

4

1 に答える 1

1

エラーメッセージはそれをすべて言います。

グループを作成しましたが、この列は「group by」の一部でもなく、すべてのグループ列の集計 (合計やカウントなど) でもないため、select 句では使用できません。

group by の戻り値は、グループごとに 1 行であることに注意してください。論理的には、その列はグループ メンバーごとに異なるため、1 行に収まりません。

于 2012-07-13T10:24:43.027 に答える