I have a query like:
DECLARE @razem VARCHAR(MAX); SELECT Ordering.orderID , Document.number, (User_info.name +' '+ User_info.surname), Ordering.dateStart, Ordering.dateEnd , ( select COALESCE(' ',@razem)+sell_type.name as r from Ordering_sell_type, Sell_type where orderID = Ordering.orderID and Ordering_sell_type.sell_typeID = sell_type.sell_typeID ) podz FROM Ordering, User_info, Product_Document, Document, Document_type WHERE Ordering.orderID = Product_document.orderID AND Document.documentID = Document_type.documentID AND Document.documentID = Product_document.documentID AND Ordering.userID = User_info.userID AND Ordering.isClosed = 1 AND Document_type.typeID = 1 GROUP BY Document.isitfiscal, Document.refDocID, Document.number, Ordering.orderID, User_info.name, User_info.surname, Ordering.dateStart, Ordering.dateEnd , Ordering.isCLosed ORDER BY Ordering.dateEnd
And in this COALESCE function, I want to get the entire type of payment for the selected order - for example, orderID 123 has payTypes = Card, Cash, orderID have payTypes = Cash.
The problem is that I want to have it on one line as the last line of the main request, for example: orderID, Document.number, UserInfo.name + surname, dateStart, dateEnd, → card, cash <- but after trying the request, like above, I got the error:
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
because it returns more than one row. Is it possible to get payment types in a subquery and return them as one line?