|
|
|
Как вычесть из запроса те строки, которые есть в другой таблице?
|
|||
|---|---|---|---|
|
#18+
Всем привет! Проблема такая. Есть 2 таблицы с одинаковым набором полей. Мне нужно из 1-й таблицы выбрать все строки, кроме тех, которые есть во 2-й таблице . Что-то типа UNION ALL, только наоборот. В Oracle решал такую проблему просто, там есть операция MINUS, а как это сделать в MS SQL 2000 ? Помогите, пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 12:39:35 |
|
||
|
Как вычесть из запроса те строки, которые есть в другой таблице?
|
|||
|---|---|---|---|
|
#18+
Всем привет! Проблема такая. Есть 2 таблицы с одинаковым набором полей. Мне нужно из 1-й таблицы выбрать все строки, кроме тех, которые есть во 2-й таблице . Что-то типа UNION ALL, только наоборот. В Oracle решал такую проблему просто, там есть операция MINUS, а как это сделать в MS SQL 2000? Помогите, пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 12:42:04 |
|
||
|
Как вычесть из запроса те строки, которые есть в другой таблице?
|
|||
|---|---|---|---|
|
#18+
А на основе какого поля(полей) нужно принимать решение о наличии/отсутствии одинаковых записей ? Если только по первичному ключу, то так SELECT a.* FROM table1 a LEFT OUTER JOIN table2 b ON b.id = a.id WHERE b.id IS NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 12:43:18 |
|
||
|
Как вычесть из запроса те строки, которые есть в другой таблице?
|
|||
|---|---|---|---|
|
#18+
здесь было ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 12:49:04 |
|
||
|
Как вычесть из запроса те строки, которые есть в другой таблице?
|
|||
|---|---|---|---|
|
#18+
На основе всех полей. Например, есть таблицы А и В с полями F1, F2, F3 Данные в А: 1 3 7 1 3 9 1 3 2 2 6 7 2 3 5 Данные в В: 2 4 8 1 3 2 Так вот, мне нужно выбрать все из А, но чтобы не было строки 1 3 2, т.к. она есть в таблице В. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 12:51:35 |
|
||
|
Как вычесть из запроса те строки, которые есть в другой таблице?
|
|||
|---|---|---|---|
|
#18+
Я такую фигню смог только так побороть: Код: plaintext 1. 2. Жуткий изврат, но бОльшего мне придумать не дано. может гуру более красивое решение знают.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 12:57:55 |
|
||
|
Как вычесть из запроса те строки, которые есть в другой таблице?
|
|||
|---|---|---|---|
|
#18+
Ответ в другом форуме подсказали, очень красиво на мой взляд и главное! - работает! :) Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 13:05:42 |
|
||
|
Как вычесть из запроса те строки, которые есть в другой таблице?
|
|||
|---|---|---|---|
|
#18+
И почти то же самое select * from table1 t1 where not col1 in in (select col1 from table2 t2 where t2.col2 = t1.col2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 13:10:30 |
|
||
|
Как вычесть из запроса те строки, которые есть в другой таблице?
|
|||
|---|---|---|---|
|
#18+
По моему, только так Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 13:55:36 |
|
||
|
Как вычесть из запроса те строки, которые есть в другой таблице?
|
|||
|---|---|---|---|
|
#18+
Можно еще так select a.f1,b.f1 from a left join b on a.f1 = b.f1 where b.f1 is null f1 - ключевое поле в табл. a и b. Результат - все строки из b, кроме тех кот. есть в a. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2002, 14:05:58 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3399&tid=1819679]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
30ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 292ms |

| 0 / 0 |
