Supportnet / Forum / Datenbanken
SQL Syntax
Frage
Hallo, ich versuche mich gerade ein wenig im SQL.
Wenn ich beim folgenden Syntax das erste Like abfrage funkioniert es, wenn ich aber die zweite hinzufüge funktioniert es nicht mehr?
Was mach ich falsch?
Select LAST_NAME,X_NAME1, S_EVT_ACT.TODO_CD,S_EVT_ACT.NAME,S_EVT_ACT.CREATED,S_EVT_ACT.OWNER_LOGIN from S_CONTACT inner join S_EVT_ACT on
S_CONTACT.ROW_ID = S_EVT_ACT.TARGET_PER_ID where S_EVT_ACT.NAME Like´%Bestelleingang%´ and S_EVT_ACT.NAME like ´%Aktiv%´
order by LAST_NAME,X_NAME1
Antwort 1 von MixMax
subject geändert...
Schreibe eine zeile später mal echo mysql_error();
evtl bekommst du eine fehlermeldung mit der man was anfangen kann.
zum verständniss, so funktioniert es?:
Select LAST_NAME,X_NAME1, S_EVT_ACT.TODO_CD,S_EVT_ACT.NAME,S_EVT_ACT.CREATED,S_EVT_ACT.OWNER_LOGIN from S_CONTACT inner join S_EVT_ACT on
S_CONTACT.ROW_ID = S_EVT_ACT.TARGET_PER_ID where S_EVT_ACT.NAME Like´%Bestelleingang%´
order by LAST_NAME,X_NAME1
also so müste es doch dann auch gehen:
Select LAST_NAME,X_NAME1, S_EVT_ACT.TODO_CD,S_EVT_ACT.NAME,S_EVT_ACT.CREATED,S_EVT_ACT.OWNER_LOGIN from S_CONTACT inner join S_EVT_ACT on
S_CONTACT.ROW_ID = S_EVT_ACT.TARGET_PER_ID where S_EVT_ACT.NAME Like´%Bestelleingang%Aktiv%´
order by LAST_NAME,X_NAME1
Das 2. like hast du groß geschrieben, wüste nicht das es eine sqlversion gibt die das nicht mag aber sonst sehe ich keine unterschiede, es sei denn er mag das "and" aus irgendwelchen gründen nicht.
Schreibe eine zeile später mal echo mysql_error();
evtl bekommst du eine fehlermeldung mit der man was anfangen kann.
zum verständniss, so funktioniert es?:
Select LAST_NAME,X_NAME1, S_EVT_ACT.TODO_CD,S_EVT_ACT.NAME,S_EVT_ACT.CREATED,S_EVT_ACT.OWNER_LOGIN from S_CONTACT inner join S_EVT_ACT on
S_CONTACT.ROW_ID = S_EVT_ACT.TARGET_PER_ID where S_EVT_ACT.NAME Like´%Bestelleingang%´
order by LAST_NAME,X_NAME1
also so müste es doch dann auch gehen:
Select LAST_NAME,X_NAME1, S_EVT_ACT.TODO_CD,S_EVT_ACT.NAME,S_EVT_ACT.CREATED,S_EVT_ACT.OWNER_LOGIN from S_CONTACT inner join S_EVT_ACT on
S_CONTACT.ROW_ID = S_EVT_ACT.TARGET_PER_ID where S_EVT_ACT.NAME Like´%Bestelleingang%Aktiv%´
order by LAST_NAME,X_NAME1
Das 2. like hast du groß geschrieben, wüste nicht das es eine sqlversion gibt die das nicht mag aber sonst sehe ich keine unterschiede, es sei denn er mag das "and" aus irgendwelchen gründen nicht.
Antwort 2 von firefox
Zitat:
Like´%Bestelleingang%Aktiv%´
Like´%Bestelleingang%Aktiv%´
Damit bekommt man aber "Aktiven Bestelleingang" z.b. nicht als Treffer ... nur als Hinweis.
Nochwas:
2x Like mit AND zu Verknüpfen klappt hier mit dem SQL Server z.b. ohne Probleme...
Antwort 3 von donelonzo
Hallo, danke für die Hilfe!
Ich hab ein wenig getüftellt, es hat ein OR gefehlt!
Select LAST_NAME,X_NAME1, S_EVT_ACT.TODO_CD,S_EVT_ACT.NAME,S_EVT_ACT.CREATED,S_EVT_ACT.OWNER_LOGIN from S_CONTACT inner join S_EVT_ACT on
S_CONTACT.ROW_ID = S_EVT_ACT.TARGET_PER_ID where S_EVT_ACT.TODO_CD=´Statuswechsel´and S_EVT_ACT.NAME Like´%Bestelleingang%´ or
S_EVT_ACT.NAME Like´%Aktiv%´
order by LAST_NAME,X_NAME1
Jetzt kommen mir aber doppelte Datensätze vor, unterscheidet sich nur im Created (2 mal auf denselben Button geklickt), wi könnte ich die Selektieren damit pro Kunde nur ein Aktiv und ein Bestelleingang vorhanden ist?
Für ne Lösung wäre ich sehr dankbar!
Lg
Don
Ich hab ein wenig getüftellt, es hat ein OR gefehlt!
Select LAST_NAME,X_NAME1, S_EVT_ACT.TODO_CD,S_EVT_ACT.NAME,S_EVT_ACT.CREATED,S_EVT_ACT.OWNER_LOGIN from S_CONTACT inner join S_EVT_ACT on
S_CONTACT.ROW_ID = S_EVT_ACT.TARGET_PER_ID where S_EVT_ACT.TODO_CD=´Statuswechsel´and S_EVT_ACT.NAME Like´%Bestelleingang%´ or
S_EVT_ACT.NAME Like´%Aktiv%´
order by LAST_NAME,X_NAME1
Jetzt kommen mir aber doppelte Datensätze vor, unterscheidet sich nur im Created (2 mal auf denselben Button geklickt), wi könnte ich die Selektieren damit pro Kunde nur ein Aktiv und ein Bestelleingang vorhanden ist?
Für ne Lösung wäre ich sehr dankbar!
Lg
Don
Antwort 4 von MixMax
also sollte das gar kein and sein ... XD
naja, also der wink mit dem zaunpfahl das dieses and die suchergebnisse einschränkt (und ´%Bestelleingang%Aktiv%´ is klar das es das noch weiter einschränkt, nur war ja nicht bekannt obs andersrum überhaupt vorkommt)
^^
naja, also der wink mit dem zaunpfahl das dieses and die suchergebnisse einschränkt (und ´%Bestelleingang%Aktiv%´ is klar das es das noch weiter einschränkt, nur war ja nicht bekannt obs andersrum überhaupt vorkommt)
^^
Antwort 5 von firefox
Zitat:
nur war ja nicht bekannt obs andersrum überhaupt vorkommt)
nur war ja nicht bekannt obs andersrum überhaupt vorkommt)
genau - aber das es nicht andersrum vorkommt war auch nicht bekannt :)
SCNR
zu A3:
Klammere die Bedingung. Also beide OR Bedingungen in einer inneren Klammer und das AND außen vor.

