|
как сделать такой запрос:? | ☑ | ||
---|---|---|---|---|
0
Помогите
14.08.13
✎
09:09
|
Нужно выбрать данные из двух таблиц (Таблица1, Таблица2) , с левым соединением с еще одной таблицей (Таблица0), причем выбранные значения могут быть NULL, так как не всегда код из Таблица0 есть в тех двух таблицах или в одной из них. Вот схема так выбирается:
ВЫБРАТЬ Таблица1.Ссылка1 как Ссылка, Таблица2.Ссылка2 как Ссылка ИЗ Таблица0 ЛЕВОЕ СОЕДИНЕНИЕ Таблица1 ПО Таблица0.Код = Таблица1.Код ЛЕВОЕ СОЕДИНЕНИЕ Таблица2 ПО Таблица0.Код = Таблица2.Код Но нужно еще сделать так, чтобы выбирались не NULL, то есть если Таблица1.Ссылка1 не NULL, то выбралась она, иначе если Таблица2.Ссылка2 не NULL, то выбралась она, иначе в выборку NULL не должен попасть. Как такое написать? |
|||
1
Wobland
14.08.13
✎
09:10
|
полное не хочешь? и естьNULL(таб1, таб2)
|
|||
2
Помогите
14.08.13
✎
09:24
|
Если делать полное, придется проверять на NULL еще и таблицу0
|
|||
3
Wobland
14.08.13
✎
09:25
|
(2) ну оба левых, не вчитывался
|
|||
4
Ёпрст
14.08.13
✎
09:27
|
ВЫБРАТЬ
ЕстьNull(Таблица1.Ссылка1,Таблица1.Ссылка2) как ссылка Где ЕстьNull(Таблица1.Ссылка1,Таблица1.Ссылка2)не есть Null |
|||
5
Рэйв
14.08.13
✎
09:27
|
Выбор Когда ЕстьNULL(Таблица1.Код,0)=0 Тогда
Таблица1.Код Иначе Таблица2.Код Конец КАК Код2 |
|||
6
Рэйв
14.08.13
✎
09:27
|
ой, т.е наоборот в первом Таблица2.Код
а иначе Таблица1.Код |
|||
7
Помогите
14.08.13
✎
09:30
|
(4) Не понятно. Как это ЕстьNull(...) не есть Null ?
(5) Это условие будет действовать после СОЕДИНЕНИЕ или до? Так то Таблица1.Код не NULL в базе, оно станет Null только после соединения если такого кода вообще нет в той таблице. |
|||
8
Рэйв
14.08.13
✎
09:31
|
(7)После конечно.
|
|||
9
Ёпрст
14.08.13
✎
09:40
|
(7) че не понятного?
если первое значение Null, вернёт второе, если второе значение Null - его пофильтрует есть не Null |
|||
10
Помогите
14.08.13
✎
09:40
|
А как убрать из выборки где и там и там NULL?
|
|||
11
Помогите
14.08.13
✎
09:41
|
(10) это для (8)
|
|||
12
Рэйв
14.08.13
✎
09:42
|
ГДЕ ЕстьNULL(Таблица1.Код,"ляляля")<>"ляляля"
И ЕстьNULL(Таблица2.Код,"ляляля")<>"ляляля" |
|||
13
Рэйв
14.08.13
✎
09:42
|
(12) к (11)
|
|||
14
Рэйв
14.08.13
✎
09:44
|
или
ГДЕ НЕ Таблица1.Код Есть NULL И НЕ Таблица2.Код Есть NULL |
|||
15
Помогите
14.08.13
✎
09:46
|
(4) Спасибо! Работает.
Только надо НЕ переставить так: не ЕстьNull(Таблица1.Ссылка1,Таблица1.Ссылка2) есть Null |
|||
16
Помогите
14.08.13
✎
09:46
|
Не знал что есть такая штуку ЕстьNull
|
|||
17
Ёпрст
14.08.13
✎
09:47
|
(15) ну, за синтаксис я не помню.. звиняйте.
Обычно конструктор исправляет. |
|||
18
Помогите
14.08.13
✎
09:57
|
(14) ага, так тоже можно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |