BlackBoard » Design, Programmierung & Entwicklung » Programmieren » [SQL] Tabelleneinträge in WHERE Klausel übernehmen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen [SQL] Tabelleneinträge in WHERE Klausel übernehmen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

[SQL] Tabelleneinträge in WHERE Klausel übernehmen       Zum Anfang der Seite springen

Also, ich habe 2 Tabellen:

bots und visits.

In bots stehen suchmuster um bots rauszufiltern (bot, Ask Jeeves, crawler etc.)

Nun möchte ich aus visits alle einträge, die keine bots laut useragent sind.
Natürlich kann ich nun aus bots per Hand ein NOT (useragent LIKE %bot% OR useragent LIKE %.. machen, aber könnte man das nicht auch in SQL eleganter lösen?

In bot steht nicht der genaue useragent, sondern auszüge davon, deshalb auch das LIKE.

phlox

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
17.11.2008 14:16 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx

Achtung       Zum Anfang der Seite springen

Gib mal die Tabellenstruktur an und vielleicht ein paar Beispieldatensätze. Sonst kann zumindest ich mir schwer vorstellen, womit man's hier genau zu tun hat.

__________________
JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard

"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

17.11.2008 16:13 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

bots: id und ein Varchar feld für die bots.
sites: id, sitename, und useragent (beides varchars)

bots:
1, bot
2, Ask Jeves

sites:
234, index, msnbot/1.1 (+http://search.msn.com/msnbot.htm)
235, index, FireFox
etc...

So nun möchte ich alle Datensätze aus sites, wo es das Suchmuster aus bots nicht gibt.

Mir schwebt sowas vor:
SELECT * FROM sites WHERE useragent NOT LIKE %(SELECT botname FROM bots)%

Nur halt das für jeden Eintrag in Bots ein LIKE %$botname% erstellt wird.

phlox

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
17.11.2008 16:41 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx

Achtung       Zum Anfang der Seite springen

Käme auf einen Versuch an, ob solche Schweinereien funktionieren:

code:
1:
2:
3:
4:
5:
SELECT *
    FROM sites
LEFT JOIN bots
    ON sites.useragent LIKE CONCAT('%',bots.name,'%')
WHERE bots.id IS NULL


Am besten wär's wohl aber, die Tabelle sites beim Befüllen bereits mit einem Flag "Bot oder nicht" zu versehen. Basierend auf bisher erkannten Suchmustern kannst du dieses Flag setzen, und wenn du später weitere Suchmuster hast, die einen Bot identifizieren, kannst du da auch im Nachhinein noch ein Skript drüber jagen, welches die einzelnen Hits, die noch nicht als Bot identifiziert wurden, markiert.

__________________
JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard

"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

17.11.2008 18:31 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

Themenstarter Thema begonnen von phlox81
      Zum Anfang der Seite springen

hm, ja so ein flag wäre natürlich auch was.
Und besser als den useragent jeweils voll rein zu hauen.

Ich glaub so mach ichs.

__________________
Intelligenz ist eine Illusion des Menschen

phlox81.de | codenode.de
17.11.2008 19:00 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » [SQL] Tabelleneinträge in WHERE Klausel übernehmen

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH