MySQL Abfrage Felder von bis möglich ?

katlina

Mitglied
Guten Morgen an alle. Kann mir jemand sagen, ob und wie ich eine Datenbankabfrage in festgelegten Feldern machen kann ? Also ich meine das so:

select (feld1 bis feld500) from table etc.

also dass ich nicht feld 1 feld2 feld3 bis feld500 einzeln eingeben muss. Geht sowas ? Die Tabelle enthält sonst auch noch andere Felder ausser feld1-feld500. Sonst könnte ich ja eine Generalabfrage machen. Aber es sollen eben nur die felder1-500 berücksichtigt werden. Danke für eine Antwort im Voraus. Gruß katlina
 
Zuletzt bearbeitet:
Hallo katlina,

du kannst entweder alle Felder (Select *) oder einzelne Felder (Select feld, 1 feld2, feld3) und als dritte Möglichkeit, wenn die Abfrage über mehrere Tabellen geht, dann kannst du dir alle Felder aus einer oder mehreren Tabellen (Select Tabelle1.*, Tabelle2.*) ausgeben lassen.
 
Vielen Dank für Eure Antworten. Ich suche jedoch nach einer Möglichkeit, eben zu umgehen, dass ich alle Felder einzeln eingeben muss, die berücksichtigt werden sollen. Praktisch wüßte ich gern, ob es eine Art Platzhalter gibt, schon so wie * aber noch eingeschränkter. Habe es mal mit feld* probiert. Funktioniert aber auch nicht. Limit einsetzen liefert leider auch nicht das gewünschte Ergebnis. Hat noch jemand eine Idee ? Viele Grüße
 
Hi,
Du könntest ne Variable auf 500 hochzählen lassen. Wenn du das alles mit php machst kanns so aussehen:

$sel = "SELECT ";
$i=0;
for($i=1;$i=500;$i++)
{
if($i>1)
{
$k = ","
}
$sel .= $k."feld".$i;
}
$sel .= " FROM table";
 
Zuletzt bearbeitet:
Hallo Ajax, hab das mal probiert: kleiner Fehler: hinter $k = "," muss noch ein ; oder ? Außerdem bekomme ich folgende Fehlermeldung nach der Einbindung: Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 33292267 bytes) in ... Wo liegt denn das Problem ? Danke im Voraus.
 
Hab den Fehler selbst gefunden: for($i=1;$i=500;$i++) es darf nicht heißen $i=500 sonder muss heißen: $i<=500 . Jetzt funktioniert es. Danke für Eure Mühe. :-)
 
Zurück