------- id ------- id ------- id ------- id -------
| t-1 | <---> | t-a | <---> | t-b | <---> | s-a | <---> | s-b |
------- ------- ------- ------- -------
SELECT distinct
t-a.col, t-b.col
FROM
INNER JOIN t-1 ON t-1.id = t-a.id
LEFT OUTER JOIN t-b on t-a.id = t-b.id
GROUP BY
T-1.id
donc ce que je veux est d'afficher une colonne de s-b (ainsi que toutes les autres colonnes étant affichées) qui est référencée par s-un qui est référencé par t-b. Je peux afficher tout ce que je veux de t-a et t-b mais j'obtiens des erreurs en essayant de relier les autres sous-tables.colonnes de référence d'affichage dans plusieurs enfants SQL
SELECT distinct
inspections.inspection_id as InspectionId,
convert(char(3),inspections.Inspection_Type) + ' ' + Inspection_Desc as Inspection,
inspections.current_status as Current_Status,
case when left(inspections.current_status,1) = 'X' then 'SCHEDULED' else inspection_status.status_description end as Current_Status_Name,
convert(varchar(10),max(distinct inspection_history.scheduled_date),101) as 'Last_Scheduled',
convert(varchar(10),max(distinct inspection_history.inspect_date),101) as 'Last_Inspected',
inspections.inspection_type,
case when (inspections.current_status <> 'A' and left(inspections.current_status,1) <> 'X' and left(inspections.current_status,1) <> 'S') then dbo.fn_DependencyCheckMessage(@PermitNum,inspections.inspection_type) else '' end as Dependency_Message,
case when (inspections.current_status <> 'A' and left(inspections.current_status,1) <> 'X' and left(inspections.current_status,1) <> 'S') and (dbo.fn_DependencyCheck(@PermitNum,inspections.inspection_type)=1 and dbo.fn_CheckTempDeposits(@PermitNum,inspections.inspection_type)=1 and dbo.fn_CertOccCheck(@PermitNum,inspections.inspection_type)=1) then 1 else 0 end as AllowSchedule,
inspection_comments.comment_description as comment
FROM inspections
inner join permit_arch on permit_arch.permit_id = Inspections.permit_id
inner join inspection_types on inspection_types.inspection_type = Inspections.inspection_type
LEFT OUTER JOIN inspection_history ON inspections.inspection_id = inspection_history.inspection_id
LEFT OUTER JOIN inspection_status ON inspections.current_status = inspection_status.status_code
LEFT JOIN inspection_history_comment ON inspection_history.insp_hist_id = inspection_history_comment.inspection_history_id
LEFT JOIN inspection_comments ON inspection_history_comment.comment_code = inspection_comments.comment_code
WHERE
permit_arch.permit_number = @PermitNum
AND
(inspection_types.internal_only is null or inspection_types.internal_only = 0)
AND
(inspection_history.status <> 'D' or inspection_history.status is null)
GROUP BY permit_arch.permit_number,permit_arch.permit_status, inspections.Inspection_Type, inspection_types.inspection_desc, inspections.current_status,inspection_status.status_description,
inspections.inspection_id
HAVING Permit_arch.permit_number = @Permitnum and (inspections.current_status <> 'D' or inspections.current_status is null) and inspections.inspection_type <> 34
ORDER BY inspections.inspection_type ASC
Mes jointures sont les deux dernières. erreurs SSMS avec:
Msg 8120, Niveau 16, État 1, Procédure procWebGetPermitInspectionsForSchedulingA, Ligne 20 [Lot ligne de départ 7]
Colonne 'inspection_comments.comment_description' est invalide dans la liste de sélection, car il ne figure pas dans soit une fonction d'agrégat ou la clause GROUP BY.Msg 145, Niveau 15, État 1, Procédure procWebGetPermitInspectionsForSchedulingA, Ligne 10 [Lot ligne de départ 7]
éléments ORDER BY doit apparaître dans la liste de sélection est spécifiée si SELECT DISTINCT.
Je veux obtenir la colonne inspection_comments.description
pouvez-vous s'il vous plaît poster l'erreur – maSTAShuFu
voir encadré jaune au-dessus – cheborneck
Ajouter cette colonne dans le groupe par et enlever commande par et revérifier votre résultat – maSTAShuFu