Имя: Пароль:
IT
 
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) пытается сделать
2 + 2 = 3.9999999999999999999999999999999...