@@ -184,9 +184,15 @@ from :: Projection ps xs ys -> Relation ps xss xs -> Selection ps xss ys
184ys `from` xs = UnsafeSelection $
184ys `from` xs = UnsafeSelection $
185 renderProjection ys <> " FROM " <> renderRelation xs
185 renderProjection ys <> " FROM " <> renderRelation xs
187+subselect :: Selection ps xss ys -> Relation ps xss ys
188+subselect selection = Relation
189+ { tabulation = UnsafeTabulation $ "SELECT " <> renderSelection selection
190+ , restriction = Nothing
187newtype Query ps xss yss zs = UnsafeQuery { renderQuery :: ByteString }
193newtype Query ps xss yss zs = UnsafeQuery { renderQuery :: ByteString }
188newtype PreparedQuery ps xss yss zs =
194newtype PreparedQuery ps xss yss zs =
189 UnsafePreparedQuery { renderPreparedQuery :: ByteString }
195 UnsafePreparedQuery { renderPreparedQuery :: ByteString }
191select :: Selection ps xss ys -> Query ps xss xss ys
197select :: Selection ps xss ys -> Query ps xss xss ys
192−select selection = UnsafeQuery $ "SELECT " <> renderSelection selection
198+select selection = UnsafeQuery $ "SELECT " <> renderSelection selection <> ";"