执行以下查询时,我有一条奇怪的MySql警告消息:
SELECT COURRIER.ID AS ID,
COURRIER.TYPE AS TYPE,
COURRIER.NUMERO_COURRIER AS NUMERO_COURRIER,
COURRIER.ETAT AS ETAT,
COURRIER.ETAT_TRI AS ETAT_TRI,
COURRIER.DATE_DEBUT_ETAT AS DATE_DEBUT_ETAT,
COURRIER.LU AS LU,
COURRIER.ALERTE AS ALERTE,
COURRIER.SIGNALE AS SIGNALE,
COURRIER.CONFIDENTIEL AS CONFIDENTIEL,
COURRIER.BROUILLON AS BROUILLON,
COURRIER.TYPE_RETOUR AS TYPE_RETOUR,
COURRIER.REPONSE_OBLIGATOIRE AS REPONSE_OBLIGATOIRE,
COURRIER.URGENCE AS URGENCE,
COURRIER.URGENCE_DESCRIPTION AS URGENCE_DESCRIPTION,
COURRIER.DATE_ENREGISTREMENT AS DATE_ENREGISTREMENT,
COURRIER.DATE_RECEPTION AS DATE_RECEPTION,
COURRIER.DATE_REPONSE_ATTENDUE AS DATE_REPONSE_ATTENDUE,
COURRIER.DATE_BONNE_RECEPTION_ATTENDUE AS DATE_BONNE_RECEPTION_ATTENDUE,
COURRIER.DATE_DERNIERE_ACTION AS DATE_DERNIERE_ACTION,
COURRIER.ACCUSE_RECEPTION_INITIE AS ACCUSE_RECEPTION_INITIE,
COURRIER.REPONSE_INITIE AS REPONSE_INITIE,
COURRIER.DATE_DEBUT_DERNIERE_AFFECTATION AS DATE_DEBUT_DERNIERE_AFFECTATION,
COURRIER.DOCUMENT_EN_SIGNATURE AS DOCUMENT_EN_SIGNATURE,
COURRIER.ID_ORGANISME AS ID_ORGANISME,
GET_TIERS_NOM_COMPLET(COURRIER.ID_TIERS) AS TIERS,
COURRIER.ID_THEME AS ID_THEME,
GET_THEME_NOM(COURRIER.ID_THEME) AS THEME_NOM,
COURRIER.OBJET AS OBJET,
SERVICE_ACTUEL.ID AS ID_SERVICE_ACTUEL,
SERVICE_ACTUEL.NOM_COURT AS NOM_COURT_SERVICE_ACTUEL,
SERVICE_ACTUEL.NOM AS NOM_SERVICE_ACTUEL,
RESPONSABLE.ID AS ID_RESPONSABLE,
RESPONSABLE.PRENOM AS PRENOM_RESPONSABLE,
RESPONSABLE.NOM AS NOM_RESPONSABLE,
RESPONSABLE.ID_SERVICE AS ID_SERVICE_RESPONSABLE,
GET_SERVICE_RESPONSABLE_NOM(RESPONSABLE.ID_SERVICE,1) AS NOM_COURT_SERVICE_RESPONSABLE,
GET_SERVICE_RESPONSABLE_NOM(RESPONSABLE.ID_SERVICE,0) AS NOM_SERVICE_RESPONSABLE,
GET_ID_PIECE_JOINTE(COURRIER.ID_FICHIER_PRINCIPAL) AS ID_PIECE_JOINTE_PRINCIPALE,
COURRIER.NUMERO_COURRIER AS NUMERO_COURRIER_PROPRIETAIRE,
COURRIER.ID AS ID_RELATION
FROM COURRIER
INNER JOIN SERVICE SERVICE_ACTUEL on SERVICE_ACTUEL.ID = COURRIER.ID_SERVICE_ACTUEL
LEFT JOIN UTILISATEUR RESPONSABLE on RESPONSABLE.ID = COURRIER.ID_RESPONSABLE
GROUP BY COURRIER.ID
警告信息为:
“无数据 - 提取,选择或处理零行”
当我删除GROUP BY子句时,警告消息消失。
有什么想法吗?
答案 0 :(得分:0)
您似乎应该删除该组,然后执行
SELECT DISTINCT COURRIER.ID作为ID, COURRIER.TYPE为类型, ...
有效地,DISTINCT正在按所有列进行分组。我在计算机上没有MySQL,但至少在SQL服务器上,如果我尝试做类似你的查询,我得到了
Msg 8120,Level 16,State 1,Line 1 列(列名)在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。