SQL Reihenfolge

Generic1

Top Contributor
Hi,

ich habe einen Haufen Einträge in meiner Datenbank und die möchte ich in der Reihenfolge, in der diese Einträge in der DB gespeichert sind, auslesen:
SQL:
"select gn from " + GALERIENAME + " gn, " + GALERIELINK + " gl where gn.pk_galeriename = gl.fk_galeriename and gn.galeriename = ? asc pk_galerielink";

asc pk_galerielink geht einmal nicht.
Weiß jemand wie man das macht dass ich die Einträge eben nach pk_galerielink sortiert herausbekomme?
Besten Dank,
 

AlexSpritze

Bekanntes Mitglied
SQL:
"select gn from " + GALERIENAME + " gn, " + GALERIELINK + " gl where gn.pk_galeriename = gl.fk_galeriename and gn.galeriename = ? ORDER BY pk_galerielink ASC";

Wenn dein beschriebenes Statement nicht geht, muss es doch eine Fehlermeldung geben? Was sagt die?
 

Fab1

Top Contributor
Das was Alex da gemacht hat, sieht für mich richtig aus. Hab allerdings noch nie mit SQL und Java gearbeitet. Nur mit MySQL.
Was mir aber noch aufgefallen ist, evtl. liegt ein weiterer Fehler hier:
Code:
gn.galeriename
Es fällt nur auf, dass jede Spalte mit "fk_" oder "pk_" beginnt. Nur diese eben nicht :)
 
M

Marcinek

Gast
fk = foreign key also fremdschlüssel

pk = primary key = primär schlüssel

Was das ist bekommt man bei google raus.

Deswegen hat nicht jede spalte diesen prefix

axo sehe gerade, dass in einer tabelle ein fk und ohne fk da steht -.- naja das bestimmt falsch.
 
Zuletzt bearbeitet von einem Moderator:

parabool

Bekanntes Mitglied
order by fehlt noch.
So:
SQL:
...and gn.galeriename = ? order by  pk_galerielink asc";


axo sehe gerade, dass in einer tabelle ein fk und ohne fk da steht -.- naja das bestimmt falsch.
denke ich nicht.

gn.galeriename ist sicher der eigentliche Name der Galerie nach der gesucht wird und
pk_galeriename bzw. pk_galeriename der Schlüssel, durch den beide Tabellen
verknüpft sind.

Würde sie aber eher in pk_galerie bzw. fk_galerie unbenennen
 
Zuletzt bearbeitet:

Generic1

Top Contributor
Also ich habs jetzt mit order by versucht, klappt aber leider nicht, wahrscheinlich bin ich zu blöd.
Ich habe folgendes Schema:
1 n
GalerieName <----------------------------> GalerieLink

z.B.:

Code:
                                        Link1
Düsseldorf   1------------- n  Link2
                                         Link3
und ich hab folgendes SQL:

SQL:
final String searchQuery = "select gn from " + GALERIENAME + " gn, " + GALERIELINK + " gl where ( gn.pk_galeriename = gl.fk_galeriename and gn.galeriename = ? ) order by gl.picsorder asc";

final List<GalerieName> galerieList = getHibernateTemplate().find(searchQuery, eventname);

Da bekomm ich es eben nicht nach picsorder aufseigend zurück sonders so wies eben in der DB ist.
Weiß jemand was ich da falsch mache?

lg
 
M

Marcinek

Gast
Das SQL ist so korrekt.

Sind die picsorder den anders als die Reihenfolge "so wie es in der DB" steht?
 

Generic1

Top Contributor
Jetzt weiß ich was falsch war:

statt:

"select gn from " + GALERIENAME + " gn,

gehört

"select gl from " + GALERIENAME + " gn,

hin, dann klappts.
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...

Ähnliche Java Themen

Neue Themen


Oben