php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-03-2005, 08:29
Carsten Henkelmann
 Junior Member
Links : Onlinestatus : Carsten Henkelmann ist offline
Registriert seit: Mar 2002
Beiträge: 56
Carsten Henkelmann ist zur Zeit noch ein unbeschriebenes Blatt
Standard Etwas komplizierte ORDER BY Abfrage...

Hallo!

Ich habe folgendes Problem: bei der Anzeige einer Sammlung von CDs soll zunächst die Liste alphabetisch nach Künstlern sortiert werden. Soweit kein Problem. Aber am Ende der Liste sollen dann die Sampler aufgelistet werden. Hier kann natürlich nicht die Sortierung nach Künstler greifen, sondern nach dem Namen des Samplers. Ob es sich bei einer CD um einen Sampler handelt oder nicht, wird mittels eines Flags (0=normale CD, 1=Sampler) gekennzeichnet.

Der Query sieht ungefähr so aus (aufs wesentliche reduziert, da kommen normalerweise noch mehr Daten dazu):

SELECT a.name, m.name, m.sampler FROM art AS a, med AS m, relam AS am WHERE a.id = am.aid AND m.id = am.mid GROUP BY m.mid ORDER BY m.sampler ASC, a.name ASC, m.name ASC;

Gibt es eine Möglichkeit, den ORDER BY Block so zu modifizieren, dass er nach a.aName sortiert wenn m.mSampler = 0 und nach m.mName wenn mSampler = 1? Oder muss ich da mit zwei getrennten Querys arbeiten? Denn im Moment sortiert er noch bei den Sampler nach dem Künstler, der als erstes diesem Sampler zugewiesen wurde, was ja so nicht ganz richtig ist.

Ach so, meine MySQL Version ist leider noch Version 3.23.58.
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 02-03-2005, 08:42
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

versuch mal mit http://dev.mysql.com/doc/mysql/en/co...functions.html

bei einfachen Sachen IF(...), sonst CASE ... WHEN ... THEN ... ELSE...
Mit Zitat antworten
  #3 (permalink)  
Alt 02-03-2005, 09:41
Carsten Henkelmann
 Junior Member
Links : Onlinestatus : Carsten Henkelmann ist offline
Registriert seit: Mar 2002
Beiträge: 56
Carsten Henkelmann ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Grandios, Danke! Und schon wieder was dazugelernt...

Der Query wie er jetzt funktioniert:

SELECT a.name, m.name, m.mSampler
FROM art AS a, med AS m, relam AS am
WHERE a.id = am.aid AND m.id = am.mid
GROUP BY m.id
ORDER BY m.sampler ASC ,
CASE m.sampler
WHEN 0 THEN a.name
WHEN 1 THEN m.name
END
ASC
Mit Zitat antworten
  #4 (permalink)  
Alt 02-03-2005, 13:32
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.277
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ORDER BY IF(m.mSampler = 1, m.mName, a.aNAME) ASC finde ich irgendwie kürzer und übersichtlicher ...
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
Mit Zitat antworten
  #5 (permalink)  
Alt 02-03-2005, 13:36
Carsten Henkelmann
 Junior Member
Links : Onlinestatus : Carsten Henkelmann ist offline
Registriert seit: Mar 2002
Beiträge: 56
Carsten Henkelmann ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für den Hinweis. Mir waren die CASE bzw. IF-Anweisungen bislang nicht bekannt (bzw. brauchte sie vorher nicht) und hab mich da erstmal an ein Beispiel gehalten, was ich im Netz gefunden habe.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:08 Uhr.