SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 08.05.2013, 08:13:39
IkeyMay IkeyMay ist offline
Anfänger
 
Registriert seit: May 2013
Alter: 60
Beiträge: 2
laufende Nummer nach Sortierung und mehr

Hallo ich habe da eine Aufgabenstellung, bei der ich nicht mehr weiterkomme:

Tabelle t1 (produkt, lieferant, preis, umsatz) -- Primärschlüssel ist (produkt, lieferant) umsatz und preis sind für alle Lieferanten gleich
Tabelle t2 (produkt, lieferant, preis, umsatz) -- Primärschlüssel ist (produkt, lieferant) umsatz und preis sind für alle Lieferanten gleich

Query:
(SELECT DISTINCT t1.produkt, t1.preis AS originalpreis, t2.preis AS identpreis, ISNULL(t1.umsatz,0)+ISNULL(t2.umsatz,0) AS gesamtumsatz FROM t1 LEFT JOIN t2 ON (t1.produkt=t2.produkt)
UNION
(SELECT DISTINCT t1.produkt, t1.preis AS originalpreis, t2.preis AS identpreis, ISNULL(t1.umsatz,0)+ISNULL(t2.umsatz,0) AS gesamtumsatz FROM t2 LEFT JOIN t1 ON (t1.produkt=t2.produkt)
ORDER BY gesamtumsatz DESC

1. Frage: Wie kann ich jetzt ein Feld hinzufügen, das mir eine laufende Nummer nach der sortierung hinzufügt?

2. Frage: Wenn ich die Lieferanten als Feld hinzufüge, dann erhalte ich ja mehrer Zeilen für jedes Produkt. Gibt es eine Möglichkeit die Lieferanten als kommagetrennte Liste in einem Feld in einer Zeile auszugeben? (es werden nicht mehr als 5 Lieferanten werden!!)

Anmerkung: Das Original ist sogar noch viel komplexer: die Tabellen sind eigentlich (komplexe) Views auf eine Tabelle mit einem weiteren Feld als Unterscheider, aber ich habe es hier versucht so einfach wie möglich darzustellen...

1000 Dank
Mit Zitat antworten
  #2  
Alt 08.05.2013, 10:34:33
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: laufende Nummer nach Sortierung und mehr

Hallo und willkommen hier im Forum.


zu 1. Bei der Benutzung der Suchfunktion hier im Forum hättest Du diesen nur wenige Tage alten Beitrag gefunden.

zu 2. siehe einleitenden Hinweis aus zu 1. ;-)
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 08.05.2013, 13:31:18
IkeyMay IkeyMay ist offline
Anfänger
 
Registriert seit: May 2013
Alter: 60
Beiträge: 2
AW: laufende Nummer nach Sortierung und mehr

hmm, sorry, aber darauf nach "Autoincrement in SELECT" zu suchen bin ich leider nicht gekommen, habe vorher nach vielen anderen Begriffen gesucht (nummerierung, laufende nummerierung, ...) aber darüber aber leider nichts gefunden... und wenn ich gewusst hätte wonach ich bzgl. Punkt 2 hätte suchen sollen hätte ich es auch getan - OK, inzwischen weiß ich es ;-) "GROUP_CONCAT" - aber ein kleiner Hinweis hierauf hätte auch nicht wehgetan...),

bin dann schließlich hier: http://stackoverflow.com/questions/3...query-in-mysql fündig geworden...

OK, egal, habe nun alles folgendermaßen hinbekommen:

Code:
SET @row:=0;
SELECT *, (@row:=@row+1) AS Rang,
(
	SELECT GROUP_CONCAT(su.lieferant) FROM (
		(SELECT produkt, lieferant FROM t1 as to)
		UNION
		(SELECT produkt, lieferant FROM t2 as ti)
	) AS su WHERE u.produkt=su.produkt
) AS Lieferanten
FROM 
(
(SELECT DISTINCT t1.produkt, t1.preis AS originalpreis, t2.preis AS identpreis, IFNULL(t1.umsatz,0)+IFNULL(t2.umsatz,0) AS gesamtumsatz FROM t1 LEFT JOIN t2 ON (t1.produkt=t2.produkt))
UNION
(SELECT DISTINCT t1.produkt, t1.preis AS originalpreis, t2.preis AS identpreis, IFNULL(t1.umsatz,0)+IFNULL(t2.umsatz,0) AS gesamtumsatz FROM t2 LEFT JOIN t1 ON (t1.produkt=t2.produkt)) 
) AS u ORDER BY gesamtumsatz DESC
schade, dass ein WHERE auf Rang fehlschlägt, werde also das Ergebnis doch in eine Zwischentabelle schreiben müssen...

Gruß
IkeyMay

P.S.: sollte es an obigem Query noch Optimierungspotential geben, so wäre ich für Tipps (oder auch konkrete Vorschläge) dankbar ;-)
Mit Zitat antworten
  #4  
Alt 10.06.2013, 11:44:29
Sophia12 Sophia12 ist offline
Anfänger
 
Registriert seit: Jun 2013
Alter: 40
Beiträge: 10
AW: laufende Nummer nach Sortierung und mehr

Kenn ich ich bekomm das auch immer nicht hin wenn ich es mal versuche.

Mal eine andere Frage wie macht Ihr das eigentlich mit den Texten auf eurer Seite lasst ihr sie schreiben oder Schreibt Ihr selbst? Ich meine damit (schreiben lassen) Freie Texter oder textagentur textprovider. Also ich nutze im Moment viel gekaufte Texte. Wie macht Ihr das?
Mit Zitat antworten
Antwort


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

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Sortierung einer Inner Join Abfrage mit Group By Klausel Oskar MySQLi/PDO/(MySQL) 1 31.08.2010 21:56:29
Zellen zusammenfügen über Rows hinweg (laufende Nummer) Domi MySQLi/PDO/(MySQL) 3 12.03.2010 12:28:21
Sortierung Oskar MySQLi/PDO/(MySQL) 1 12.11.2009 18:27:47
automatisch fortlaufende, eindeutige nummer mit Startwert generieren p-phill PHP für Fortgeschrittene und Experten 9 21.06.2006 18:26:11
Max Laufende Nummer ermitteln DanielEXQ PHP für Fortgeschrittene und Experten 9 27.12.2002 15:03:35


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:27:52 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt