php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.09.2010, 09:51  
TZP
Erfahrener Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 148
PHP-Kenntnisse:
Anfänger
TZP befindet sich auf einem aufstrebenden Ast
Standard order by-Frage

Moinz.
Ich hab hier diesen wunderschönen Schnipsel vorgesetzt bekommen

$where = "AND (meineTab.uid IN ( SELECT andere_uid FROM andereTab WHERE dritte_uid = '2' ))";

und hab damit nix als Ärger. Aus der DB weiß ich, dass die Zahlen 1 und 3 zurück kommen. Jetzt soll aber die Reihenfolge umgekehrt werden und ich dachte, dass ich die beiden )) am Ende so auffüllen könnte

)order by meineTab.uid DESC)

....klappt natürlich nicht. Nach gefühlen 2 Tagen Trial n Error stehe ich auf dem Schlauch. Hat jemand ne Idee?
TZP ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.09.2010, 09:54  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Entweder sortierst du die gesamte Abfrage oder die Unterabfrage, aber bitte nicht mittendrin.
__________________
HalloPHP
Asipak ist offline   Mit Zitat antworten
Alt 07.09.2010, 10:10  
TZP
Erfahrener Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 148
PHP-Kenntnisse:
Anfänger
TZP befindet sich auf einem aufstrebenden Ast
Standard

Mir ist jede Lösung recht. Wie würde das denn bei der Unterabfrage aussehen? Die gesamte Abfrage kann ich so nicht erfassen...frag mich mal, was davor noch alles kommt.
TZP ist offline   Mit Zitat antworten
Alt 07.09.2010, 10:12  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Na, so vermutlich:
Code:
$where = "AND (meineTab.uid IN ( SELECT andere_uid FROM andereTab WHERE dritte_uid = '2' )) ORDER BY meineTab.uid DESC";
Wobei die Sortierung vom Zusammenhang her ($where) wohl nicht in diesen String gehört.

Gruß
__________________
HalloPHP
Asipak ist offline   Mit Zitat antworten
Alt 07.09.2010, 10:12  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.670
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Hi.

Na ja, hat er ja schon gesagt: entweder sortierst Du die eigentliche Abfrage oder deine Sub-Abfrage (SELECT innerhalb der Klammer mit). Bißchen Eigeninitiative ist schon nicht schlecht, da die Lösung auch nicht hochkompliziert ist!

Wolf29

P.S. HAst ja Glück gehabt, dass Du gleich ne Lösung bekommen hast
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

Geändert von wolf29 (07.09.2010 um 10:19 Uhr).
wolf29 ist offline   Mit Zitat antworten
Alt 07.09.2010, 10:22  
TZP
Erfahrener Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 148
PHP-Kenntnisse:
Anfänger
TZP befindet sich auf einem aufstrebenden Ast
Standard

Beide Vorschläge hab ich schon mal probiert. Aber sowohl

Code:
$where = "AND (meineTab.uid IN ( SELECT andere_uid FROM andereTab WHERE dritte_uid = '2' )) ORDER BY meineTab.uid DESC";
als auch

Code:
$where = "AND (meineTab.uid IN ( SELECT andere_uid FROM andereTab WHERE dritte_uid = '2' ORDER BY andere.uid DESC)) ";
führten zu "Kein Ergebnis". Ohne die order by kommt das normale Ergebnis zurück....entweder hab ich was in der Abfrage falsch oder da steckt noch viel mehr dahinter. Anstrengend...aber lehrreich.
TZP ist offline   Mit Zitat antworten
Alt 07.09.2010, 10:23  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
"Kein Ergebnis"
Heißt was? Debugging:SQL - PHP.de Wiki
__________________
HalloPHP
Asipak ist offline   Mit Zitat antworten
Alt 07.09.2010, 10:30  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 1.717
PHP-Kenntnisse:
Fortgeschritten
fab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nett
Standard

Mit diesem Schnipsel alleine kannst du dann nichts ändern und können wir hier auch nur raten. Such mal heraus, wo dieses $where verwendet wird. Wenn es etwas in der Form ist:
PHP-Code:
$sql "SELECT ... WHERE " $where " ORDER BY "$order
musst du zusehen, deine Sortierung dort in die ORDER BY Klausel einzufügen
fab ist gerade online   Mit Zitat antworten
Alt 07.09.2010, 10:39  
TZP
Erfahrener Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 148
PHP-Kenntnisse:
Anfänger
TZP befindet sich auf einem aufstrebenden Ast
Standard

"Kein Ergebnis" steht hierfür, wenn die Abfrage ein leeres Ergebnis liefert. Ist der SQL-Befehl an sich falsch, gibt es ein "Falsche Eingabe"..so viel konnte ich diesem Konstrukt hier entnehmen.

Das mit der Suche nach dem gesamten Query hab ich mir schon fast gedacht...dratz...ich hatte gehofft, ein eingefügtes ORDER BY würde den Tag retten. Na ja, Annahmen sind bekanntlich die Mutter des Irrtums.

Aber soweit schon ma meinen Dank!
TZP
TZP ist offline   Mit Zitat antworten
Alt 07.09.2010, 10:51  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Wieso?

Wie sieht denn dein Code aus? Bislang haben wir nur einen Schnipsel zu sehen bekommen.
__________________
HalloPHP
Asipak ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Eine Frage zum guten Code-Layout SilentSight JavaScript, Ajax und mehr 3 14.07.2010 09:18
[Erledigt] Frage zu JOIN Befehl und dem Auslesen desselben apo PHP Tipps 2010 11 13.06.2010 19:32
Zähler im SQL- Select- Anfrage mit ausgeben aha_01 Datenbanken 7 25.02.2010 17:23
URL Frage Eclipse16V PHP Tipps 2009 8 23.02.2009 17:02
Hallo eine Frage in sachen Forensysteme spikytux HTML, Usability und Barrierefreiheit 11 03.01.2009 15:06
Dringende Frage odde PHP Tipps 2008 5 28.10.2008 19:03
Frage zu LDAP Frage (Active Directory) FRAD PHP Tipps 2008 0 01.10.2008 16:11
Frage zu prepared statements mit pdo Mack22 PHP-Fortgeschrittene 3 16.05.2008 15:10
Abfrage = "SELECT * FROM links ORDER BY id" Taktaky PHP Tipps 2008 2 22.08.2007 14:37
ORDER BY - Frage Stefajo Datenbanken 1 28.12.2006 14:44
Frage zu einem Editformular PHP Tipps 2005 3 25.04.2005 14:58
Frage zu ORDER BY Anweisung in SQL Befehl suendesizer PHP Tipps 2005 9 11.02.2005 12:26
[Erledigt] Frage zur Funkrionen? PHP Tipps 2004-2 10 01.12.2004 09:42
order frage php & mysql PHP Tipps 2004 3 04.11.2004 00:45
DISTINCT oder ORDER BY unknownsoul Datenbanken 5 20.08.2004 12:12


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum