91 / 56 / 12
Регистрация: 02.10.2008
Сообщений: 550
1

Использование UNION ALL в конструкции IF с EXISTS

12.09.2013, 11:07. Показов 3190. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не получается выполнить подобную конструкцию

Incorrect syntax near the keyword 'IF'.

Неужели так не возможно сделать

T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
IF EXISTS (SELECT * from table 1)
BEGIN
    (SELECT * from table 1)
END
ELSE
    (SELECT * from table 2)
UNION ALL
IF EXISTS (SELECT * from table 1)
BEGIN
    (SELECT * from table 1)
END
ELSE
    (SELECT * from table 2)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.09.2013, 11:07
Ответы с готовыми решениями:

Использование оператора EXISTS
Привет, формумчане. Дано: Таблица вида: some_id|zn_1|zn_2|start_date|end_date...

использование File.Exists
Всем привет! Есть необходимость мониторить папку на наличие файлов, файлы всегда разные, поэтому...

Использование IF NOT EXISTS для таблицы
IF NOT EXISTS вообще работает? или как написать запрос на проверку существования таблицы, то есть...

Использование UNION
Здравствуйте, помогите, пожалуйста! Получить информацию о количестве поставщиков двух стран...

3
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
12.09.2013, 11:16 2
В качестве бреда:
T-SQL
1
2
3
4
select * from tab1
union all
select * from tab2
where not exists(select * from tab1)
0
91 / 56 / 12
Регистрация: 02.10.2008
Сообщений: 550
12.09.2013, 11:25  [ТС] 3
Первым всегда должна быть проверка т.е Если EXISTS то выбрать из таблицы 1 данные по определенному условию ELSE выбрать по другому условию и т.п

Пока удалось решить создание временной таблицы и внесением в нее данных по частям

T-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
CREATE TABLE #tmp
(
    Field1 int,
    Field2 int,
    Field3 int,
    Field4 varchar(25),
    Field5 int,
    Field6 float,
    Field7 float
)
 
IF EXISTS (SELECT * from table 1)
BEGIN
    INSERT INTO #tmp (Field1, Field2, Field3, Field4, Field5, Field6, Field7) SELECT * from table 1
END
ELSE
    INSERT INTO #tmp (Field1, Field2, Field3, Field4, Field5, Field6, Field7) SELECT * from table 2
 
SELECT
    *
FROM
    #tmp
 
DROP TABLE #tmp
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
12.09.2013, 12:25 4
Смотрите внимательнее:
Цитата Сообщение от cygapb-007 Посмотреть сообщение
В качестве бреда:
T-SQL
1
2
3
4
select * from tab1
union all
select * from tab2
where not exists(select * from tab1)
Если exists(tab1), то будут выбраны строки из первой таблицы и не будут (not exists!) выбраны строки из второй.

Если not exists(tab1), то из первой таблицы будет выбрано 0 строк (потому как not exists!), а из второй строки будут выбраны.
1
12.09.2013, 12:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.09.2013, 12:25
Помогаю со студенческими работами здесь

Использование WHERE с UNION ALL
Доброго времени суток. Подскажите пожалуйста как оформить запрос с условием WHERE из двух разных...

Использование UNION в JPQL
Доброго дня всем. Пишу приложение с использование Spring Boot и Spring Data JPA. Столкнулся с...

Использование конструкции For Each...Next
Вопрос такой: Имеется несколько объектов TextBox. Как можно использовать цикл для того, чтобы...

Использование конструкции echo
Допустим есть такой код: <?php echo 2; echo 3; ?> Как сделать так чтобы 3 была...

Использование конструкции if then else и цикла for
Добрый день. по кнопке выполняется процедура, там есть вот такой фрагмент кода. Access ругается, на...

Использование операторных скобок в конструкции if-else
Объясните, пожалуйста, почему используется begin end в условном операторе. Что означают эти...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru