I have a very large database and I want to work with all rows except those that obey, for example:
(YEAR = 2015 and COUNTRY = USA)
OR
(YEAR = 2016 and COUNTRY = USA)
OR
(YEAR = 2015 and COUNTRY = Brazil)
OR
(YEAR = 2016 and COUNTRY = Brazil)
Rows with any other combinations (including Brazil and USA with other years and 2015 and 2016 with other countries) must be loaded.
Anyone can help me to do it?
LOAD
--------
FROM
.......
WHERE
NOT(
(YEAR = 2015 and COUNTRY = 'USA')
OR (YEAR = 2016 and COUNTRY = 'USA')
OR (YEAR = 2015 and COUNTRY = 'Brazil')
OR (YEAR = 2016 and COUNTRY = 'Brazil')
) ;
If you are selecting from a SQL database:
SQL
SELECT
--------
FROM
SourceTable
WHERE
NOT(
(YEAR = 2015 and COUNTRY = 'USA')
OR (YEAR = 2016 and COUNTRY = 'USA')
OR (YEAR = 2015 and COUNTRY = 'Brazil')
OR (YEAR = 2016 and COUNTRY = 'Brazil')
) ;
LOAD
--------
FROM
.......
WHERE
NOT(
(YEAR = 2015 and COUNTRY = 'USA')
OR (YEAR = 2016 and COUNTRY = 'USA')
OR (YEAR = 2015 and COUNTRY = 'Brazil')
OR (YEAR = 2016 and COUNTRY = 'Brazil')
) ;
If you are selecting from a SQL database:
SQL
SELECT
--------
FROM
SourceTable
WHERE
NOT(
(YEAR = 2015 and COUNTRY = 'USA')
OR (YEAR = 2016 and COUNTRY = 'USA')
OR (YEAR = 2015 and COUNTRY = 'Brazil')
OR (YEAR = 2016 and COUNTRY = 'Brazil')
) ;
May be try like
Countries:
LOAD *
WHERE NOT (Match(Country, 'USA','Brazil') AND Match(Year, '2015','2016'));
LOAD * INLINE [
Country, Year
USA, 2015
USA, 2017
USA, 2016
Brazil, 2015
Brazil, 2017
Brazil, 2016
];
sql
....
WHERE not
(
YEAR in (2015,2016) and COUNTRY in ('USA','BRAZIL')
)
Worked! Thanks!