powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помощь в написании запроса
7 сообщений из 7, страница 1 из 1
Помощь в написании запроса
    #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
Помощь в написании запроса
    #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
Помощь в написании запроса
    #39963427
dima111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
londinium, спасибо большое))
...
Рейтинг: 0 / 0
Помощь в написании запроса
    #39963428
Alexander Us
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima111,

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


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


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