powered by simpleCommunicator - 2.0.46     © 2025 Programmizd 02
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Коварство экзамена 70-229: COALESCE?
5 сообщений из 5, страница 1 из 1
Коварство экзамена 70-229: COALESCE?
    #32069040
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
You are a database developer for Adventure Works. You are designing a script for the human resources
department that will report yearly wage information. There are three types of employee. Some employees
earn an hourly wage, some are salaried, and some are paid commission on each sale that they make. This
data is recorded in a table named Wages, which was created by using the following script:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
CREATE TABLE Wages
(
emp_id tinyint identity,
hourly_wage decimal NULL,
salary decimal NULL,
commission decimal NULL,
num_sales tinyint NULL
)


An employee can have only on type of wage information. You must correctly report each employee’s
yearly wage information.

Which script should you use?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
A. SELECT CAST (hourly_wage *  40  *  52  +
salary +
commission * num_sales AS MONEY) as YearlyWages
FROM Wages

B. SELECT CAST (COALESCE (hourly_wage *  40  *  52 ,
Salary,
commission * num_sales) AS MONEY) as YearlyWages
FROM Wages

C. SELECT CAST (CASE
WHEN((hourly_wage,) IS NOTNULL) THEN hourly_wage *  40  *  52 
WHEN(NULLIF(salary,NULL)IS NULL)THEN salary
ELSE commission * num_sales
END
AS MONEY)
As_yearlyWages
FROM Wages

D. SELECT CAST(CASE
WHEN (hourly_wage IS NULL)THEN salary
WHEN (salary IS NULL)THEN commission*num_sales
ELSE commission * num_sales
END
AS MONEY)
As YearlyWages
FROM Wages



Вроде B?
...
Рейтинг: 0 / 0
Коварство экзамена 70-229: COALESCE?
    #32069051
Makc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-->An employee can have only on type of wage information<--

Да не, вроде C
...
Рейтинг: 0 / 0
Коварство экзамена 70-229: COALESCE?
    #32069061
Фотография Sinner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я думаю что все таки B ибо по смыслу подходит
-->An employee can have only ONE type of wage information<--

может jimmers ошибся в вопросе :-/
...
Рейтинг: 0 / 0
Коварство экзамена 70-229: COALESCE?
    #32069062
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да нет, вроде бы как раз В.
там же..

COALESCE
Returns the first nonnull expression among its arguments.
...
Рейтинг: 0 / 0
Коварство экзамена 70-229: COALESCE?
    #32069116
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
CREATE TABLE Wages
(
emp_id tinyint identity,
hourly_wage decimal NULL,
salary decimal NULL,
commission decimal NULL,
num_sales tinyint NULL
)

insert into wages(hourly_wage) values ( 8 )
insert into wages(hourly_wage) values ( 9 )
insert into wages(hourly_wage) values ( 10 )

insert into wages(salary) values ( 1000 )
insert into wages(salary) values ( 1100 )
insert into wages(salary) values ( 1200 )

insert into wages(commission,num_sales) values ( 10 , 10 )
insert into wages(commission,num_sales) values ( 15 , 20 )
insert into wages(commission,num_sales) values ( 20 , 30 )

select * from wages

 1 . Даёт NULL везде

SELECT CAST (hourly_wage *  40  *  52  +
salary +
commission * num_sales AS MONEY) as YearlyWages
FROM Wages

 2 . Даёт результат
SELECT CAST (COALESCE (hourly_wage *  40  *  52 ,
Salary,
commission * num_sales) AS MONEY) as YearlyWages
FROM Wages

 3 . Line  2 : Incorrect syntax near ','. 
SELECT CAST (CASE
WHEN((hourly_wage,) IS NOTNULL) THEN hourly_wage *  40  *  52 
WHEN(NULLIF(salary,NULL)IS NULL)THEN salary
ELSE commission * num_sales
END
AS MONEY)
As_yearlyWages
FROM Wages

 4 . Не считает для  1 - 3  и  7 - 9 
SELECT CAST(CASE
WHEN (hourly_wage IS NULL)THEN salary
WHEN (salary IS NULL)THEN commission*num_sales
ELSE commission * num_sales
END
AS MONEY)
As YearlyWages
FROM Wages
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Коварство экзамена 70-229: COALESCE?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]