Реализация по умолчанию класса case equals
наивно рекурсивна. Вы можете реализовать свою собственную хвостовую рекурсивную версию в List
. Вот начало:
sealed trait List[+T] {
override def equals(o: Object): boolean = o match {
case ls: List[_] => equalsRec(ls)
case _ => false
}
@tailrec
def equalsRec(ls: List[_]): boolean = ???
Я думаю, что это сделает это:
SELECT FieldName
FROM TableName
LEFT JOIN TableName2 ON UPPER(ColumnName) LIKE TableName2.FieldName2 + '%'
WHERE TableName2.FieldName2 IS NULL
Не знайте, насколько эффективный это было бы, но это должно работать:
SELECT FieldName
FROM TableName t1
WHERE NOT EXISTS (
SELECT *
FROM TableName2 t2
WHERE t1.FieldName LIKE t2.FieldName2 + '%'
)
SELECT * FROM table_A
LEFT OUTER JOIN table_B
ON (locate(table_b.column, UPPER(table_a.column)) == 1)
WHERE table_b.column IS NULL