|
T-sql фильтр на совпадение по нескольким колонкам |
☑ |
0
dk
18.06.14
✎
15:35
|
исх. данные (колонки А,Б,В)
1, 2, 12
3, 4, 34
5, 6, 56
и фильтр по первым двум колонкам
А=3, Б=4
нужно получить строки
3, 4, 34
----
можно через Inner фильтр нарисовать
но было где-то покрасивше решение
типа
WHERE (А,Б) IN (3,4)
----
нужно фильтрануть таблицу1 на совпадение по 2 колонкам из таблицы2
|
|
1
MaxxiMiliSanM
18.06.14
✎
15:41
|
внутреннее соединение по колонкам
|
|
2
dk
18.06.14
✎
15:42
|
этот вариант я знаю
вроде есть другой
|
|
3
MaxxiMiliSanM
18.06.14
✎
15:50
|
такого примера нет там
|
|
4
MaxxiMiliSanM
18.06.14
✎
15:51
|
это же не язык запросов 1с)
|
|
5
MaxxiMiliSanM
18.06.14
✎
15:53
|
возможно CONTAINS
|
|
6
MaxxiMiliSanM
18.06.14
✎
15:54
|
пардон не то
|
|
7
Ёпрст
гуру
18.06.14
✎
15:56
|
(0) нихрена не понял, а где вторая таблица то хоть ?
>>>и фильтр по первым двум колонкам
А=3, Б=4
чего, тупо select * from table where А=3 and Б=4 не катит ?
|
|
8
КонецЦикла
18.06.14
✎
16:01
|
через and и равенство красивее всего :)
|
|
9
MaxxiMiliSanM
18.06.14
✎
16:25
|
(7) тут 3,4 могут быть разными и эти комбинации находятся в другой таблице
|
|
10
MrStomak
18.06.14
✎
16:27
|
WHERE (А,Б) IN (Select A,B From OtherTable)
|
|
11
dk
19.06.14
✎
08:46
|
SELECT *
FROM (SELECT 1 _1, 2 _2, 12 _3 UNION SELECT 3,4,34 UNION SELECT 5,6,56) Влож
WHERE ((Влож._1,Влож._2) IN (SELECT 3 _1, 4 _2))
матерится
Сообщение 170, уровень 15, состояние 1, строка 3
Line 3: Incorrect syntax near ','.
Сообщение 170, уровень 15, состояние 1, строка 3
Line 3: Incorrect syntax near ')'.
-----
может и нет такого способа
|
|
12
Ёпрст
гуру
19.06.14
✎
09:12
|
(11) ё.. чем тебе обычный inner join не нравится ?
|
|
13
dk
19.06.14
✎
09:34
|
просто не нравится
но сделал через inner пока
|
|
14
Fragster
гуру
19.06.14
✎
09:36
|
Где А = 3 И Б = 4, не?
|
|
15
Fragster
гуру
19.06.14
✎
09:37
|
а на TSQL это называется exists
|
|
16
Fragster
гуру
19.06.14
✎
09:37
|
(15) я про то, что автор в (11) пытается сделать
|
|