@@ -199,10 +199,30 @@ instance (HasUnique relation relations columns, Has column columns ty)
199199 => IsLabel column (Expression relations 'Ungrouped params ty) where
200200 fromLabel = UnsafeExpression $ renderAlias (Alias @column)
201201
202+instance (HasUnique relation relations columns, Has column columns ty)
203+ => IsLabel column
204+ (Aliased (Expression relations 'Ungrouped params) (column ::: ty)) where
205+ fromLabel = fromLabel @column `As` Alias @column
206+
207+instance (HasUnique relation relations columns, Has column columns ty)
208+ => IsLabel column
209+ (NP (Aliased (Expression relations 'Ungrouped params)) '[column ::: ty]) where
210+ fromLabel = fromLabel @column :* Nil
211+
202212instance (Has relation relations columns, Has column columns ty)
203213 => IsQualified relation column (Expression relations 'Ungrouped params ty) where
204214 relation ! column = UnsafeExpression $
205215 renderAlias relation <> "." <> renderAlias column
216+
217+instance (Has relation relations columns, Has column columns ty)
218+ => IsQualified relation column
219+ (Aliased (Expression relations 'Ungrouped params) (column ::: ty)) where
220+ relation ! column = relation ! column `As` column
221+
222+instance (Has relation relations columns, Has column columns ty)
223+ => IsQualified relation column
224+ (NP (Aliased (Expression relations 'Ungrouped params)) '[column ::: ty]) where
225+ relation ! column = relation ! column :* Nil
206226
207227instance
208228 ( HasUnique relation relations columns
@@ -211,7 +231,7 @@ instance
211231 ) => IsLabel column
212232 (Expression relations ('Grouped bys) params ty) where
213233 fromLabel = UnsafeExpression $ renderAlias (Alias @column)
214−
234+
215235instance
216236 ( Has relation relations columns
217237 , Has column columns ty
@@ -221,6 +241,24 @@ instance
221241 relation ! column = UnsafeExpression $
222242 renderAlias relation <> "." <> renderAlias column
223243
244+instance
245+ ( Has relation relations columns
246+ , Has column columns ty
247+ , GroupedBy relation column bys
248+ ) => IsQualified relation column
249+ (Aliased (Expression relations ('Grouped bys) params)
250+ (column ::: ty)) where
251+ relation ! column = relation ! column `As` column
252+
253+instance
254+ ( Has relation relations columns
255+ , Has column columns ty
256+ , GroupedBy relation column bys
257+ ) => IsQualified relation column
258+ ( NP (Aliased (Expression relations ('Grouped bys) params))
259+ '[column ::: ty]) where
260+ relation ! column = relation ! column :* Nil
261+
224262-- | analagous to `Nothing`
225263--
226264-- >>> renderExpression $ null_