|
Связка 2 таблиц полное и левое соединение :) |
☑ |
0
Lama12
28.01.14
✎
17:41
|
Что-то туплю.
Нужно связать две таблицы (первая и вторая) по трем полям.
Причем по двум полям связь должна быть как левая, а по третьему полю как полная.
Пока придумал сделать полное соединение по всем полям, а на результат наложить условие по НЕ ЕСТЬ NULL по тем полям второй таблице по которым должно быть левое соединение.
Надеюсь описал понятно :).
Корректно ли такое решение, и есть ли более оптимальное?
|
|
1
shuhard
28.01.14
✎
17:44
|
(0) не корректно
|
|
2
Lama12
28.01.14
✎
17:46
|
(1) А как корректно?
|
|
3
SUA
28.01.14
✎
17:47
|
не может такого быть
(т1, 1, 2, 3)+(т2,4,5,6) что должно получиться исходя из "по третьему полю полная"?
|
|
4
vicof
28.01.14
✎
17:48
|
(0) Какая-то чушь)
|
|
5
Avganec
28.01.14
✎
17:51
|
(0) если делаешь левое, у тебя уже те элементы, что должны дать полное соединение отсутствуют.
|
|
6
Avganec
28.01.14
✎
17:51
|
+(5) так что меняй логику
|
|
7
Дмитрий666
28.01.14
✎
17:52
|
(0) а может быть нужно делать через объединение и вложенный запрос? Сначала левое соединение, затем полное и все это объединить?
|
|
8
SUA
28.01.14
✎
17:54
|
(3)+
из т1 (1, 2, 3, null, null, null)
не добавляем ничего или добавляем из т2
(null, null, null, 4, 5, 6)
?
в первом случае просто левое
во втором случае просто полное
|
|
9
Lama12
28.01.14
✎
17:56
|
Первая таблица
п1п2 п3
1 2 "а"
1 2 "б"
1 2 "в"
вторая таблица
п1п2 п3
1 2 "б"
2 3 "ж"
1 2 "г"
Нужен результат
п1п2 п3
1 2 "а"
1 2 "б"
1 2 "в"
1 2 "г"
|
|
10
Lama12
28.01.14
✎
17:58
|
(7) Думал, но совсем запутался :)
|
|
11
Apokalipsec
28.01.14
✎
18:03
|
ЛЕВОЕ и РАЗЛИЧНЫЕ может?
|
|
12
Lama12
28.01.14
✎
18:06
|
блин... что-то туплю... :(
в (9)Что-то не то.
Беру перерыв до завтра. Голова уже не соображает.
|
|
13
Lama12
28.01.14
✎
18:09
|
Хы... много думать, хуже чем хорошо думать :)
Достаточно левого соединения по первым двум полям. Третье само сделается как полное.
|
|
14
SUA
28.01.14
✎
18:15
|
(13)да, нет условия это некоторый аналог "полное", только дубль колонки будет
|
|
15
Lama12
28.01.14
✎
18:28
|
(14) Ага. Группировку в конце сделал.
|
|
16
DS
28.01.14
✎
18:28
|
Почему не объединение?
|
|