SQL Server Question Paper - 4
SQL Server Question Paper - 4
Answers:
--1
SELECT
CustomerID, TransDate, DATEName(DW, TransDate) [WeekDay],
CASE WHEN TransType = 'C' THEN 'Credit' WHEN TransType = 'D' THEN
'Debit' END TransType,
Amount
FROM Trans
--2
SELECT
CustomerID, CONVERT(VARCHAR, TransDate, 101) TransDate,
CAST
(
ISNULL
(
CASE
WHEN TransType = 'C' THEN Amount
END,
0.00)
AS VARCHAR)[Credit Amount],
CAST
(
ISNULL
(
CASE
WHEN TransType = 'D' THEN Amount
END,
0.00)
AS VARCHAR) [Debit Amount]
FROM Trans
--3
SELECT
CustomerID, CONVERT(VARCHAR, TransDate, 101) TransDate,
CAST
(
ISNULL
(
CASE
WHEN TransType = 'C' THEN Amount
END,
0.00)
AS VARCHAR)[Credit Amount],
CAST
(
ISNULL
(
CASE
WHEN TransType = 'D' THEN Amount
END,
0.00)
AS VARCHAR) [Debit Amount]
FROM Trans
WHERE MONTH(TransDate) = 4 AND YEAR(TransDate) = 2005
--4
SELECT
CustomerID, CONVERT(VARCHAR, TransDate, 101) TransDate,
CAST
(
ISNULL
(
CASE
WHEN TransType = 'C' THEN Amount
END,
0.00)
AS VARCHAR)[Credit Amount],
CAST
(
ISNULL
(
CASE
WHEN TransType = 'D' THEN Amount
END,
0.00)
AS VARCHAR) [Debit Amount]
FROM Trans
WHERE TransDate = CAST((CAST(MONTH(TransDate) AS VARCHAR) + '/01/' +
CAST(YEAR(TransDate) AS VARCHAR)) AS DATETIME)
--5
SELECT
CustomerID, CONVERT(VARCHAR, TransDate, 101) TransDate,
CAST
(
ISNULL
(
CASE
WHEN TransType = 'C' THEN Amount
END,
0.00)
AS VARCHAR)[Credit Amount],
CAST
(
ISNULL
(
CASE
WHEN TransType = 'D' THEN Amount
END,
0.00)
AS VARCHAR) [Debit Amount]
FROM Trans
WHERE TransDate =
DATEADD(MM, 1, CAST((CAST(MONTH(TransDate) AS VARCHAR) + '/01/'
+ CAST(YEAR(TransDate) AS VARCHAR)) AS DATETIME)) - 1
--6
SELECT
CustomerID, YEAR(TransDate) [Year],
ISNULL
(
SUM
(
CASE
WHEN TransType = 'C' THEN Amount
END
),
0.00) [Credit Total Amount],
ISNULL
(
SUM
(
CASE
WHEN TransType = 'D' THEN Amount
END
),
0.00) [Debit Total Amount]
FROM Trans
GROUP BY CustomerID, YEAR(TransDate)
--7
SELECT
CustomerID, YEAR(TransDate) [Year], MONTH(TransDate) [Date],
ISNULL
(
SUM
(
CASE
WHEN TransType = 'C' THEN Amount
END
),
0.00) [Credit Total Amount],
ISNULL
(
SUM
(
CASE
WHEN TransType = 'D' THEN Amount
END
),
0.00) [Debit Total Amount],
ISNULL
(
SUM
(
CASE
WHEN TransType = 'C' THEN Amount
END
),
0.00) -
ISNULL
(
SUM
(
CASE
WHEN TransType = 'D' THEN Amount
END
),
0.00) [Balance]
FROM Trans
GROUP BY CustomerID, YEAR(TransDate), MONTH(TransDate)
HAVING
(
ISNULL
(
SUM
(
CASE
WHEN TransType = 'C' THEN Amount
END
),
0.00) -
ISNULL
(
SUM
(
CASE
WHEN TransType = 'D' THEN Amount
END
),
0.00)
)>0