Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11236[/thread]

DBI / SQL: Platzhalter für [alle Elemente]???

Leser: 1


<< >> 9 Einträge, 1 Seite
Nordlicht
 2008-02-03 16:48
#105509 #105509
User since
2005-10-16
182 Artikel
BenutzerIn
[default_avatar]
Hi Leute,
ich brauche einen Platzhalter in SQL, mit dem ich alle Elemente in einem Datensatz auslesen kann, falls dieser eine Bedingung erfüllt.

Zum Beispiel:
Code: (dl )
$dbh->prepare("SELECT irgendwas FROM TabelleX WHERE size = * ")

Hier sollte er alle Elemente aus "irgendwas" heraussuchen, egal welches size dort angegeben ist. Der Stern (*) soll hier der Platzhalter sein. Einen derartigen Platzhalter suche ich, konnte in der Dokumentation aber keinen finden.

Meine Modulversionen sind:

DBI::ODBC Version 1.13
DBI Version 1.601

Gruß, Nordlicht.
GwenDragon
 2008-02-03 16:53
#105510 #105510
User since
2005-01-17
14590 Artikel
Admin1
[Homepage]
user image
[sql]SELECT irgendwas FROM TabelleX WHERE size IS NOT NULL[/sql]
hönnte gehen
die Drachin Gwen
Gast Gast
 2008-02-03 16:59
#105511 #105511
Ich glaube du hast da einen Denkfehler.

Wenn "size" mit irgendwas gefüllt sein kann, warum dann eine Bedingung darüber? Lass die "WERE" Klausel einfach weg, dann bekommst du alle Einträge.

Oder meinst du, dass wenn ein Wert größer Null in "size" stehen muss, damit der Eintrag zurück geliefert werden soll, oder was willst du genau?

Hast du dich eigentlich über die SQL Abfragesprache informiert? Es gibt eine reihe von Dokus dazu im Netz.
GwenDragon
 2008-02-03 17:50
#105512 #105512
User since
2005-01-17
14590 Artikel
Admin1
[Homepage]
user image
Irgendwas bedeutet aber definierter Inhalt, denke ich.
Und deswegen meine Prüfung IS NOT NULL.

Das Weglassen der WHERE-Klausel findet alles, auch wenn size nicht als Feld definiert ist.
die Drachin Gwen
Nordlicht
 2008-02-03 18:05
#105514 #105514
User since
2005-10-16
182 Artikel
BenutzerIn
[default_avatar]
Danke, das hat mir schon weitergeholfen! Jetzt brauche ich noch einen Tipp von euch: Ich müsste jetzt noch sowas hier schreiben können, aber das scheint nicht möglich zu sein:
Code: (dl )
SELECT etwas FROM tabelle WHERE (x,y,z) LIKE (ax,ay,az)


Wobei die Werte x und ax sowie y und ay zusammen gehören sollen.

Gruß, Nordlicht.

PS: Ich hab mich mit SQL soweit beschäftigt, dass ich die grundlegendsten abfragen tätigen kann und die Syntax in der DBI-Dokumentation verstehe. Wenn ich dort allerdings nichts finde, bin ich aufgeschmissen.
GwenDragon
 2008-02-03 19:49
#105524 #105524
User since
2005-01-17
14590 Artikel
Admin1
[Homepage]
user image
Du musst mehrere WHERE Bedingungen mit AND verknüpfen.

SELECT Feld FROM Tabelle WHERE ( Ausdruck1 AND Ausdruck2 AND Ausdruck3);
Und Ausdruck ist eben deine LIKE-Klausel.

Zu Like findest du z. B. etwas unter
http://www.teialehrbuch.de/Kostenlose-Kurse/SQL/14...
http://dev.mysql.com/doc/refman/5.0/en/string-comp...

Ansonsten schau dir doch auch bitte mal die SQL-Syntax näher an ;)
die Drachin Gwen
Nordlicht
 2008-02-05 14:18
#105573 #105573
User since
2005-10-16
182 Artikel
BenutzerIn
[default_avatar]
Ist das böse! Seit dem ich dieses Modul zuletzt verwendet hab, hat sich so viel geändert! Früher konnte man noch mit Kommas arbeiten und mit einem * als Platzhalter.
GwenDragon
 2008-02-09 19:56
#105755 #105755
User since
2005-01-17
14590 Artikel
Admin1
[Homepage]
user image
Um welche Datenbank geht es denn überhaupt? ODBC ist ja nur eine weitere Schnittstelle.
die Drachin Gwen
Nordlicht
 2008-02-10 19:24
#105772 #105772
User since
2005-10-16
182 Artikel
BenutzerIn
[default_avatar]
Es geht um eine simple Access-datenbank, die ich über die ODBC-Schnittstelle ansprechen möchte.
Aber das Problem hat sich erstmal erledigt: Mit der Syntax, die Du mir gegeben hast und einigen Tipps, die ich noch in den von Dir empfolenen Links gefunden hab, funktioniert alles wunderbar. Danke nochmal.

Gruß, Nordlicht.
<< >> 9 Einträge, 1 Seite



View all threads created 2008-02-03 16:48.