Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помощь в написании запроса / 7 сообщений из 7, страница 1 из 1
28.05.2020, 14:04
    #39963353
dima111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании запроса
Написать запрос, который переименует поле TYPE таблицы А, в зависимости от поля IDTYPE в таблице В (таблицы связаны по полю ID).
Параметры:
• Если IDTYPE >0, то в поле TYPE пишем ПОЗИЦИЯ>IDTYPE
• Если IDTYPE = 1, то в поле TYPE пишем ОТКРЫТ
• Если IDTYPE = 0, то в поле TYPE пишем ЗАКРЫТ
Пример:
А В
ID TYPE
1 Не задан
2 Не задан
3 Не задан
4 Не задан
5 Не задан
6 Не задан
ID IDTYPE
1 1
2 1
3 0
4 3
5 5
6 0



Ожидаемый результат:
ID TYPE
1 ОТКРЫТ
2 ОТКРЫТ
3 ЗАКРЫТ
4 ПОЗИЦИЯ>3
5 ПОЗИЦИЯ>5
6 ЗАКРЫТ
...
Рейтинг: 0 / 0
28.05.2020, 15:24
    #39963412
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании запроса
как-то так
Код: sql
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.
USE tempdb
GO

DECLARE @A TABLE
(
  ID TINYINT,
  TYPE VARCHAR(10)
)
INSERT @A(ID,TYPE)
SELECT 1,'Не задан'
 UNION ALL
SELECT 2,'Не задан'
  UNION ALL
SELECT 3,'Не задан' 
  UNION ALL
SELECT 4,'Не задан'
  UNION ALL
SELECT 5,'Не задан'
  UNION ALL
SELECT 6,'Не задан'

DECLARE @B TABLE
(
  ID TINYINT,
  IDTYPE TINYINT 
)

INSERT @B(ID,IDTYPE)
 SELECT 1, 1
   UNION ALL
SELECT 2,1
   UNION ALL
SELECT 3, 0
   UNION ALL
SELECT 4,3
   UNION ALL
SELECT 5, 5
   UNION ALL
SELECT 6, 0

UPDATE TT SET 
 TT.TYPE=
  CASE 
    WHEN X.IDTYPE>1 THEN 'ПОЗИЦИЯ>'+CAST(X.IDTYPE AS CHAR(3))
	WHEN X.IDTYPE=1 THEN 'ОТКРЫТ'
	WHEN X.IDTYPE=0 THEN 'ЗАКРЫТ'
  END
 FROM @A AS TT
 JOIN @B AS X ON TT.ID=X.ID 

 SELECT * FROM @A;
...
Рейтинг: 0 / 0
28.05.2020, 15:49
    #39963427
dima111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании запроса
londinium, спасибо большое))
...
Рейтинг: 0 / 0
28.05.2020, 15:50
    #39963428
Alexander Us
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании запроса
dima111,

Вам не приходило в голову сначала хотя бы попытаться решать упражнения самому?
...
Рейтинг: 0 / 0
28.05.2020, 15:56
    #39963432
dima111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании запроса
Alexander Us, решать-то решал, но вот не получается. Сюда и обратился за помощью)
...
Рейтинг: 0 / 0
28.05.2020, 15:58
    #39963434
dima111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании запроса
Вот разверну базу на ноуте домашнем и тогда попроще будет)
...
Рейтинг: 0 / 0
28.05.2020, 16:46
    #39963478
Alexander Us
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помощь в написании запроса
dima111
Вот разверну базу на ноуте домашнем и тогда попроще будет)


Конечно лучше иметь собственный SQL Server, но если пока не можете, используйте например: sql_server_online_compiler
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помощь в написании запроса / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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