Ich habe zwei TabellenAccess SQL Vermeiden Kartesisches Produkt mit Instr = 0 oder Not Like
T1 T2
list remark
abc this is my list
def i have abc remark
ghi other than I have def comment
jkl ghi is also there
and this one will
and this one too
Ich versuche, eine Abfrage zu schreiben, die alle Bemerkungen in T2 zurück, die nicht die Liste in T1 gefallen sind.
Ich habe sowohl Instr
und Join mit Not Like
versucht, aber bin auf dem kartesischen Produkt Problem fest. auch dort
eine Abfrage läuft, auf dem Instr = True Gibt die Liste I
SELECT DISTINCT t2.remark, InStr([t2].[remark],[t1].[list]) AS [Check]
FROM t2, t1
WHERE (((InStr([t2].[remark],[t1].[list]))=True));
ghi erwarten ist
I abc Bemerkung
andere haben als ich def
Kommentar haben aber läuft für False ist, wo ich alle Ergebnisse, aufgrund der kartesischen Produkt:
Samt mit Not Like
SELECT DISTINCT t2.remark
FROM t2 LEFT JOIN t1 ON t2.Remark NOT LIKE "*" & t1.List & "*"
mit Ich habe auch sub-Abfragen versucht, aber kein Glück. Irgendeine Idee, wie ich das mit Access SQL lösen kann?
Ich nehme an, ich könnte die Anweisung mit TRUE schreiben dann eine andere Abfrage, wo die Bemerkungen nicht gleich das Ergebnis meiner ersten Abfrage, aber das scheint ein bisschen ineffizient.
Ich mag, dass ich versuchte, sowohl "Instr" als auch "Like" und bekam Antworten für beide :) –