PrepAway - Latest Free Exam Questions & Answers

Which four Transact-SQL segments should you use to deve…

DRAG DROP
Note: This question is part of a series of questions that use the same scenario. For your convenience,
the scenario is repeated in each question. Each question presents a different goal and answer choices,
but the text of the scenario is exactly the same in each question in this series.
Start of repeated scenario
You have a database that contains the tables shown in the exhibit. (Click the Exhibit button.)

You review the Employee table and make the following observations:Every record has a value in the ManagerID except for the Chief Executive Officer (CEO).
The FirstName and MiddleName columns contain null values for some records.
The valid values for the Title column are Sales Representative manager, and CEO.
You review the SalesSummary table and make the following observations:
The ProductCode column contains two parts: The first five digits represent a product code, and the last
seven digits represent the unit price. The unit price uses the following pattern: ####.##.
You observe that for many records, the unit price portion of the ProductCode column contains values.
The RegionCode column contains NULL for some records.
Sales data is only recorded for sales representatives.
You are developing a series of reports and procedures to support the business. Details for each report or
procedure follow.
Sales Summary report: This report aggregates data by year and quarter. The report must resemble the
following table.

Sales Manager report: This report lists each sales manager and the total sales amount for all employees that
report to the sales manager.
Sales by Region report: This report lists the total sales amount by employee and by region. The report must
include the following columns: EmployeeCode, MiddleName, LastName, RegionCode, and SalesAmount. If
MiddleName is NULL, FirstName must be displayed. If both FirstName and MiddleName have null values, the
world Unknown must be displayed/ If RegionCode is NULL, the word Unknown must be displayed.
Report1: This report joins data from SalesSummary with the Employee table and other tables. You plan to
create an object to support Report1. The object has the following requirements:
be joinable with the SELECT statement that supplies data for the report
can be used multiple times with the SELECT statement for the report
be usable only with the SELECT statement for the report
not be saved as a permanent object
Report2: This report joins data from SalesSummary with the Employee table and other tables.
You plan to create an object to support Report1. The object has the following requirements:
be joinable with the SELECT statement that supplies data for the report
can be used multiple times for this report and other reports
accept parameters
be saved as a permanent object
Sales Hierarchy report: This report aggregates rows, creates subtotal rows, and super-aggregates rows over
the SalesAmount column in a single result-set. The report uses SaleYear, SaleQuarter, and SaleMonth as a
hierarchy. The result set must not contain a grand total or cross-tabulation aggregate rows.
Current Price Stored Procedure: This stored procedure must return the unit price for a product when a product
code is supplied. The unit price must include a dollar sign at the beginning. In addition, the unit price mustcontain a comma every three digits to the left of the decimal point, and must display two digits to the left of the
decimal point. The stored procedure must not throw errors, even if the product code contains invalid data.
End of Repeated Scenario
You need to create the query for the Sales Managers report.
Which four Transact-SQL segments should you use to develop the solution? To answer, move the appropriate
Transact-SQL segments from the list of Transact-SQL segments to the answer area and arrange them in the
correct order.
Select and Place:

PrepAway - Latest Free Exam Questions & Answers

Answer:

Explanation:
From scenario: Sales Manager report: This report lists each sales manager and the total sales amount for
allemployees that report to the sales manager.
Box 1:..WHERE Title=’Sales representative’
The valid values for the Title column are Sales Representative manager, and CEO.
First we define the CTE expression.
Note: A common table expression (CTE) can be thought of as a temporary result set that is defined within the
execution scope of a single SELECT, INSERT, UPDATE, DELETE, or CREATE VIEW statement. A CTE is
similar to a derived table in that it is not stored as an object and lasts only for the duration of the query. Unlike a
derived table, a CTE can be self-referencing and can be referenced multiple times in the same query.
Box 2:
Use the CTE expression one time.
Box 3: UNION
Box 4:
Use the CTE expression a second time.
https://technet.microsoft.com/en-us/library/ms190766(v=sql.105).aspx

9 Comments on “Which four Transact-SQL segments should you use to deve…

      1. rai says:

        Confirmed using SQL Management Studio

        with cte (mangerId,employeeId,amount)
        as (
        select e.mangerId, e.employeeId, ss.amount
        from Employee e inner join Sales ss
        on e.EmployeeId = ss.EmployeeId)
        select mangerId,employeeId,sum(amount)
        from cte
        group by mangerId,employeeId
        union all
        select e.mangerId,e.employeeId,cte.amount
        from Employee e
        inner join cte
        on cte.MangerId = e.EmployeeId




        1



        1
  1. ashleyliang says:

    AS this is for the Sales Manager Report and according to the requirements for it, Common Table Expression is applied here:

    WITH CTE (ManagerID, SalesAmount) AS (
    SELECT E.ManagerID, S.SalesAmount
    FROM Employee AS E
    INNER JOIN SalesSummary AS S
    ON E.EmployeeCode = S.EmployeeCode
    WHERE Title = ‘Sales Representative’
    )
    SELECT ManagerID, SUM(SalesAmount)
    FROM CTE
    GROUP BY ManagerID




    1



    2
    1. ashleyliang says:

      Sorry the previous reply is probably not correct because there might be a multi-level hierarchy. In such case, the recursive form of CTE should be applied:

      WITH CTE (ManagerID, SalesAmount) AS
      (
      SELECT E.ManagerID, S.SalesAmount
      FROM Employee AS E
      INNER JOIN SalesSummary AS S
      ON E.EmployeeCode = S.EmployeeCode
      WHERE Title = ‘Sales Representative’
      UNION ALL
      SELECT M.ManagerID, C.SalesAmount
      FROM Employee AS M
      INNER JOIN CTE AS C
      ON M.EmployeeID = C.ManagerID
      )
      SELECT ManagerID, SUM(SalesAmount)
      FROM CTE
      GROUP BY ManagerID




      2



      1
      1. ashleyliang says:

        Final correction to my solution as the Anchor Member in the CTE should return just a result:

        WITH cte (ManagerID, EmployeeID, EmployeeCode, Title, SalesAmount) AS
        (
        SELECT e.ManagerID, e.EmployeeID, e.EmployeeCode, e.Title, ss.SalesAmount
        FROM dbo.Employee e
        INNER JOIN dbo.SalesSummary ss
        ON e.EmployeeCode = ss.EmployeeCode
        WHERE ManagerID IS NULL

        UNION ALL

        SELECT e.ManagerID, e.EmployeeID, e.EmployeeCode, e.Title, cte.SalesAmount
        FROM dbo.Employee e
        INNER JOIN cte
        ON e.ManagerID = cte.EmployeeID
        )
        SELECT ManagerID, EmployeeID, EmployeeCode, Title, SUM(SalesAmount)
        FROM cte
        GROUP BY ManagerID, EmployeeID, EmployeeCode, Title




        5



        0
  2. sclt2020 says:

    I don’t know why does all the answers above are using Hierarchy in this question. Let’s extract valuable information from the Question First:
    – Question is : You need to create the query for the Sales Managers report.
    Which four Transact-SQL segments should you use to develop the solution?
    – Supportive information about Sales Manager report is:
    Sales Manager report: This report lists each sales manager and the total sales amount for all employees that report to the sales manager.
    The valid values for the Title column are Sales Representative manager, and CEO.

    According to the given information, the result table should only include sales manager and sales representative report to them. So the answer should be
    WITH CTE (ManagerID, SalesAmount) AS (
    SELECT E.ManagerID, S.SalesAmount
    FROM Employee AS E
    INNER JOIN SalesSummary AS S
    ON E.EmployeeCode = S.EmployeeCode
    WHERE Title = ‘Sales Representative’
    )
    SELECT ManagerID, EmployeeID, EmployeeCode, Title, SUM(SalesAmount)
    FROM CTE
    GROUP BY ManagerID, EmployeeID, EmployeeCode, Title




    0



    1

Leave a Reply