diff --git a/uppsrc/Sql/SqlSet.cpp b/uppsrc/Sql/SqlSet.cpp index cab1fa10c..63f0d460a 100644 --- a/uppsrc/Sql/SqlSet.cpp +++ b/uppsrc/Sql/SqlSet.cpp @@ -17,7 +17,13 @@ SqlSet operator&(const SqlSet& s1, const SqlSet& s2) { SqlSet operator-(const SqlSet& s1, const SqlSet& s2) { if(s1.IsEmpty() || s2.IsEmpty()) return s1; - return SqlSet(s1() + SqlCase(MSSQL, " except ")(" minus ") + s2(), SqlSet::SETOP); + return SqlSet(s1() + SqlCase(MSSQL|PGSQL, " except ")(" minus ") + s2(), SqlSet::SETOP); +} + +SqlSet operator-(const SqlSet& s1, const SqlSet& s2) { + if(s1.IsEmpty() || s2.IsEmpty()) + return s1; + return SqlSet(s1() + SqlCase(MSSQL|PGSQL, " except ")(" minus ") + s2(), SqlSet::SETOP); } String SqlSet::operator~() const { diff --git a/uppsrc/Sql/SqlStatement.cpp b/uppsrc/Sql/SqlStatement.cpp index 286f57b54..e5d8be824 100644 --- a/uppsrc/Sql/SqlStatement.cpp +++ b/uppsrc/Sql/SqlStatement.cpp @@ -19,7 +19,7 @@ SqlSelect& SqlSelect::operator&=(const SqlSelect& s2) { } SqlSelect& SqlSelect::operator-=(const SqlSelect& s2) { - text << " minus (" << s2.text << ')'; + text << SqlCase(MSSQL|PGSQL," except (")(" minus (") << s2.text << ')'; return *this; }