phpbar.de logo

Mailinglisten-Archive

=?ISO-8859-1?Q?Re:_Verzwickter_Select_=28so_verzwickt_das_mir_kein_Subject_ einf=E4llt_:-=29=29?=

Re: Verzwickter Select (so verzwickt das mir kein Subject einfällt :-))

Oliver Stephan mysql-de_(at)_lists.bttr.org
Fri, 2 Nov 2001 17:54:53 +0100


Hi Lars,

On 2 Nov 2001 at 15:04, Lars Wolff wrote:

> Jetzt möchte ich, das mir jeder Kunde einmal ausgegeben wird mit
> kunden_id, stammdaten, und alle produkte die er hat. Diese sollen in
> EINEM FELD zusammen gesetzt werden: "ANZ \t BEZEICHNUNG \t PRODUKT_ID

Alle Produkte in einem String. Das kannste vergessen.

Du hast die Produkte-Kunden-Zuordnung zeilenweise organisiert, also bekommst Du auch für 
jedes Produkt einen Datenssatz. In einer Select Statement kannst Du die Felder eines 
Datensatzes miteinander konkatenieren, aber nicht mehrere Datensätze. Das geht nur über eine 
Schleife, die durch alle Datensätze (einer Gruppe (Kunden)) läuft und eine weitere Tabelle oder 
ein Array aufbaut.

Hättest Du die Anzahl der Produkte pro Kunde begrenzt, wäre Dein Wunsch kein Problem, aber 
die Datenbank "bescheiden" strukturiert ;)

SELECT * from kunden LEFT JOIN  produkteatkunde ON 
kunden.kunden_id=produkteatkunde.kunden_id LEFT JOIN produkte ON 
produkteatkunde.produkte_id=produkte.produkte_id ORDER BY kunden.kunden_id, 
produkte_produkt_id

while NOT EOF() {
	k = kunden.kunden_id
	if (k_alt != k) {
		k_alt = k;
		INSERT INTO zusammenfassung (kunden_id, kunde, thatsit) 
			VALUES ( kunden.kunden-id, kunden.name & kunden.adresse & ..., '')
	}
	UPDATE zusammenfassung SET thatsit = thatsit & produkte.produktname & ", "
	WHERE kunden_id=kunden.kunden_id
} 

Das ist kein gültiger Code, soll nur die Idee veranschaulichen !
Der Inhalt der Spalte thatsit wächst mit jedem Datensatz um ein Produkt an.

Tschö,
Igor--
Dipl.-Inform. Oliver Stephan, e-Mail: os_(at)_I-Lab.de  

I-Lab Productions - August-Niemann-Str.36 - 26203 Wardenburg
Internet - Informationssysteme - Vertrieb
Tel: 0441-50500780, Fax: 0441-50500781
http://www.I-Lab.de

http://www.aerzte-notdienst.de
http://www.billiger-fotografieren.de

---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive