2016-09-08 1 views
1

Я пытаюсь выяснить, как сделать следующий сценарий работы в SQL Server:Если значение X в table1 знак значения X в table2

У нас есть две таблицы в БД. Таблица 1 содержит полную информацию о пользователях с столбцом «Тег», обозначенным значениями от 1 до 300.

У нас есть еще одна таблица, которая содержит два столбца, где один также номер от 1 до 300, а второй - 0 или 1 в качестве значения.

Мы хотели бы, чтобы всякий раз, когда в Таблице 1 используется номер тега, он отмечает его как «0» в таблице 2, который стоит «в использовании», поскольку 1 означает «доступно».

Кто может мне помочь?

+0

Этот вопрос не показывает каких-либо исследовательских усилий. –

ответ

0

Попробуйте это:

DECLARE @tbl1 as TABLE(
Tag INT 
) 

DECLARE @tbl2 as TABLE(
Id INT, 
IsAvailable BIT 
) 

INSERT INTO @tbl1 VALUES(1) 
INSERT INTO @tbl1 VALUES(2) 
INSERT INTO @tbl1 VALUES(5) 

INSERT INTO @tbl2 VALUES(1,NULL) 
INSERT INTO @tbl2 VALUES(2,NULL) 
INSERT INTO @tbl2 VALUES(3,NULL) 
INSERT INTO @tbl2 VALUES(4,NULL) 
INSERT INTO @tbl2 VALUES(5,NULL) 

SELECT 
    T1.Tag, 
    T2.Id, 
    CASE ISNULL(T1.Tag,0) WHEN 0 THEN 1 ELSE 0 END AS IsAvailable 
FROM @tbl2 T2 
LEFT JOIN @tbl1 T1 ON T1.Tag=T2.Id 
+0

Ваша помощь очень ценится, спасибо – Brayn

+0

всегда приветствуются. –

 Смежные вопросы

  • Нет связанных вопросов^_^