Вы не сможете сделать это только в одном выражении SQL.
Когда вы используете T-SQL (MSSSQL), вы можете использовать это выражение для одной данной даты.
SELECT '' AS 'Bill No.', CONCAT('Date: ', '03.04.2018') AS 'Customer Name', '' AS 'Amount'
UNION ALL
SELECT CONVERT(varchar, BillNo), CustomerName, CONVERT(varchar, Amount)
FROM SALM LEFT JOIN CUSMAS ON SALM.CusId = CUSMAS.Id WHERE Date = '3.4.2018'
UNION ALL
SELECT '', 'Cash Total', 'don''t know what you want in herer'
UNION ALL
SELECT '', 'Credit Total', 'don''t know what you want in herer'
UNION ALL
SELECT '', 'Day Total', CONVERT(varchar, SUM(Amount))
FROM SALM LEFT JOIN CUSMAS ON SALM.CusId = CUSMAS.Id WHERE Date = '3.4.2018'
Затем вы можете сделать это в C # через цикл всех возможных DateTimes
и используйте выражение для каждого DateTime
.
Когда вы просто хотите вызвать одну функцию SQL, вам нужно создать FUNCTION
, который возвращает таблицу.Вы можете прочитать больше об этом здесь .
CREATE FUNCTION GetMyReport(@from DATETIME, @to DATETIME)
RETURNS @result TABLE
(
BillNo VARCHAR,
CustomerName VARCHAR,
Amount VARCHAR
)
BEGIN
--FILL YOUR TABLE HERE
END;