Seite 1 von 1

Variable als Spaltenbezeichner (gelöst)

Verfasst: Mo, 07.11.2011 13:31
von schwelmi
Hallo Forum,

ich habe eine Tabelle t1, die wie folgt aussieht:

Artnr I 1 I 2 I 3 I...

Nun möchte ich die Werte der einzelnen Spalten nacheinander skriptgesteuert abfragen.
Das hatte ich mir in etwa so vorgestellt:

SET @spalte:=1;
for i = 0 to 30
Select 't1'.'Artnr','t1'.'@spalte' FROM 't1';
SET @spalte:=@spalte+1;
next i

Nur leider funktioniert das so nicht. MySQL erkennt meine Variable nicht als Spaltenbezeichner.
Kann mir jemand helfen?

Re: Variable als Spaltenbezeichner

Verfasst: Mo, 07.11.2011 19:31
von DPunch
Aloha

In welcher Umgebung führst Du das Skript aus?
Dass eine Mischmasch aus MySQL-seitiger Variablendeklaration und einer Basic-Schleife nicht wirklich funktionsfähig ist, überrascht eher weniger.
Ohne Deine genauen Ziele zu kennen, würde ich Dir einfach mal StarBasic FAQ: Datenbanken ans Herz legen, wenn Du skriptgesteuert arbeiten willst.

Re: Variable als Spaltenbezeichner

Verfasst: Di, 08.11.2011 09:29
von schwelmi
Wow, vielen Dank für den Link.
Das war genau das was ich brauchte. Endlich verstehe ich Star-Basic - ja, mein Skript sollte in Star-Basic verfasst werden.
Hier noch die fertige Lösung:

n=1
for i = 0 to 30
Sql = "SELECT DISTINCT `Artnr`, `"+n+"` FROM `db1`.`t1` AS `t1`"
SQL_Anweisung.executeUpdate (Sql)
n=n+1
next i

Michael