Mailinglisten-Archive |
* Wilfried Henseler wrote: > Also (siehe amazon): > "Wer dieses Buch gekauft hat, hat auch .... gekauft" Mal schnell auf den Schmierzettel gepinselt. Könnte sein, dass es fehlerhaft ist, mal sehen: Tabelle produkt enthält eine Produkt-ID plus restliche Produktdaten. Tabelle kunde enthält Kunden-ID plus restliche Kundendaten. Tabelle bestellung enthält Kunden-ID plus Produkt-ID plus restliche Bestelldaten (evtl. noch weiter zu normalisieren) In einer Zeile: select b2.pid from bestellung as b1, bestellung as b2 where b1.pid="1" and b2.kid=b1.kid and b2.pid not like '1' group by b2.pid; Übersetzt: selektiere mir die Produkt-ID2 (b2.pid) aus zwei Bestelltabellen (b1, b2), bei der b1.pid die Produkt-ID ist auf die die Crossover-Bestellungen geprüft werden sollen, sowie der Kunde von b2 und b1 der gleiche ist und die Produkt-ID aus p2 nicht gleich b1.pid ist. Gruppiere das Result dann gegen b2.pid, um jede pid einzeln zu erhalten. Falls jemand eine bessere Lösung oder Anmerkungen zu meiner Lösung hat, nur her damit. :) # MySQL dump 6.0 # # Host: localhost Database: test #-------------------------------------------------------- # Server version 3.22.25 # # Table structure for table 'bestellung' # CREATE TABLE bestellung ( kid bigint(20) DEFAULT '0' NOT NULL, pid bigint(20) DEFAULT '0' NOT NULL, kontonummer bigint(20) DEFAULT '0' NOT NULL, PRIMARY KEY (kid,pid) ); # # Dumping data for table 'bestellung' # INSERT INTO bestellung VALUES (1,1,123456); INSERT INTO bestellung VALUES (1,3,123456); INSERT INTO bestellung VALUES (1,5,123456); INSERT INTO bestellung VALUES (2,5,7890); INSERT INTO bestellung VALUES (2,1,7890); INSERT INTO bestellung VALUES (3,1,456); INSERT INTO bestellung VALUES (3,2,456); INSERT INTO bestellung VALUES (3,3,456); # # Table structure for table 'kunde' # CREATE TABLE kunde ( kid bigint(20) DEFAULT '0' NOT NULL auto_increment, kname varchar(255), PRIMARY KEY (kid) ); # # Dumping data for table 'kunde' # INSERT INTO kunde VALUES (1,'Björn Schotte'); INSERT INTO kunde VALUES (2,'Testuser XYZ'); INSERT INTO kunde VALUES (3,'Michael Mustermann'); # # Table structure for table 'produkt' # CREATE TABLE produkt ( pid bigint(20) DEFAULT '0' NOT NULL auto_increment, pname varchar(255), PRIMARY KEY (pid) ); # # Dumping data for table 'produkt' # INSERT INTO produkt VALUES (1,'SQL für Dummies'); INSERT INTO produkt VALUES (2,'Apache Webserver betreiben'); INSERT INTO produkt VALUES (3,'Designing Web Usability'); INSERT INTO produkt VALUES (4,'XML in der Praxis'); INSERT INTO produkt VALUES (5,'HTML4'); -- ** Ostermotive ** Comics ** Hochwertige Akte ** Liebesgrüße ** ** Städtebilder und mehr bei Landschaftsmotive ** =======> <http://www.web-cards.de/> <=======
php::bar PHP Wiki - Listenarchive