Verbundkäufe

Fred1899

Neuer Benutzer
Beiträge
2
Hallo zusammen,
ich möchte Verbundkäufe ermitteln und bin mir nicht sicher wegen des Scripts.
Habe nur 2 Spalten, in der ersten steht die Nummer des Einkaufsbons (bon_id) und in der zweiten die Artikelnummer(n) (art_id) dazu. Die bon_ids können also öfter vorkommen (Duplikate).
Nun benötige ich zuerst alle Bons, die mind. 2 Artikelnummern enthalten.
Danach die Verbundkäufe, also welche Artikel wurden wie oft auf den Bons zusammen gekauft?

Bsp:
bon_id art_id
1234 1
1234 2
1235 1
1236 2
1236 3
1236 4

Lösung:
1 und 2 wurden 1 x zusammen gekauft
2 und 3 -> 1x
2 und 4 -> 1x
3 und 4 -> 1x
 
Werbung:
Code:
test=*# select * from fred1899 ;
  id  | art
------+-----
 1234 |   1
 1234 |   2
 1235 |   1
 1236 |   2
 1236 |   3
 1236 |   4
(6 rows)

test=*# select art, count(id) from fred1899 group by art order by art;
 art | count
-----+-------
   1 |     2
   2 |     2
   3 |     1
   4 |     1
(4 rows)

test=*#

Bitte ein Bier.
 
ach so, für Bons mit mind. 2 Artikeln:

Code:
test=*# select id, count(*) from fred1899 group by id having count(*) >= 2;
  id  | count
------+-------
 1234 |     2
 1236 |     3
(2 rows)

... ich nehm dann noch ein Bier
 
Hm, du hast jetzt aber nur die verschiedenen Artikelnummern gezählt, oder?
Ich brauche aber 3 Spalten am Ende:
art_id1 / art_id2 / summe
1 / 2 / 1
1 / 3 / 1
2 / 3 / 1
 
Werbung:
Zurück
Oben