Frank aus Ulm: SQL abfrage an ACCESS macht probleme

Beitrag lesen

Hi, hallo

die felder "eigner" "kunde" und "user" enthalten strings und keine zahlen (hätte ich vieleicht vorher erwähnen sollen :)), daher LIKE

alle 3?? dann solltest du dir evt. mal überlegen dein Datenmodell etwas zu optimieren, LIKE ist einer der unperformantesten Operatoren mit exponentiellem Performanceverlust bei steigender Tabellengröße.

168 und 1684 ....

wobei würde dein (mögliches) like "68,%" anschlagen?

[ ] "1,168,244"
[ ] "1,68,244"
[ ] "68,1,244"

und wobei soll es anschlagen?

[ ] "1,168,244"
[ ] "1,68,244"
[ ] "68,1,244"

schon allein aus diesem Grunde eignet sich Like eher minder. Versuch es doch über eine transponierte Tabelle und dem SQL "WHERE x in (....)"

[tab1]
order  dataTyp      dataID
1      eigner       1
1      eigner       68
1      user         68
1      user         169
1      user         170
1      kunde        2

Beispiel: SELECT *  From tab1 WHERE (dataTyp='eigner' or dataTyp='user') AND dataID in (1,68,170)

die Tabelle wird dann zwar etwas länger, aber dafür performanter da kein LIKE (*grrrrrrrrrr*) mehr verwendet werden muß

Tschau, tschüß,
Frank