2016-09-30 2 views
0

Предположим, что у меня была большая таблица TBL_LARGE_TABLE с 100 столбцами (столбец1, column2, ... column100 все с нулевым значением), и мой клиент дал мне запрос, чтобы я мог отфильтровать определенные строки:ГДЕ для фильтрации данных на основе нескольких условий

SELECT * FROM TBL_LARGE_TABLE 
WHERE 
COLUMN2='00123' 
AND 
(COLUMN3 LIKE '%garbage%' OR COLUMN3 LIKE '%trash%') 
AND 
COLUMN100='0'; 

Теперь я хочу, чтобы поместить данные из TBL_LARGE_TABLE в другую таблицу TBL_ANOTHER_LARGE_ONE. Какой был бы лучший способ вставить из TBL_LARGE_TABLE в TBL_ANOTHER_LARGE_ONE, исключая все строки, которые будут передавать вышеуказанный оператор SELECT? Я не хочу удалять любые данные, я хочу, чтобы исходная таблица оставалась такой, какой она есть. Я просто хочу выбрать точную противоположность инструкции SELECT выше.

+0

Сколько количество строк есть в этой таблице SELECT COUNT (*) FROM TBL_LARGE_TABLE; ? – Karthik

ответ

0
INSERT INTO TBL_ANOTHER_LARGE_ONE 
SELECT * 
FROM TBL_LARGE_TABLE 
WHERE NOT 
(
    COLUMN2='00123' 
    AND 
    (COLUMN3 LIKE '%garbage%' OR COLUMN3 LIKE '%trash%') 
    AND 
    COLUMN100='0 
) 
+0

Я пробовал использовать NOT, но есть около 2mil записей, и когда я добавляю счет WHERE (выше условия) + WHERE NOT (выше условия), я обходим 1.9mil. Я, вероятно, потерять несколько записей из-за NULL – oldManInTheSea

+0

'WHERE NOT ( NVL (COLUMN2, 'х') = '00123' И (NVL (колонка3, 'х') LIKE '% мусора%' ИЛИ ​​NVL (COLUMN3, 'x') LIKE '% trash%') AND Nvl (COLUMN100, 'x') = '0 ) ' Это сработало. Спасибо. – oldManInTheSea

+0

Как кто-нибудь может знать, какие столбцы допускают null, если вы не упомянули об этом в вопросе? –

0
INSERT INTO TBL_ANOTHER_LARGE_ONE 

SELECT * 
FROM TBL_LARGE_TABLE 
WHERE 

    COLUMN2 <>'00123' 
    AND 
    (COLUMN3 NOT LIKE '%garbage%' OR COLUMN3 NOT LIKE '%trash%') 
    AND 
    COLUMN100 <>'0' 
) 
+0

Хотя этот фрагмент кода может решить вопрос, [включая объяснение] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. –

Смежные вопросы