Ich möchte die Anzahl der Tickets pro Zahlungsmethode für jedes Ereignis verkauft werden. und ich habe die Folge Abfrage:Gruppe von funktioniert nicht korrekt Join zwei Tabellen
SELECT count(distinct(a.performance_id)) as EventQuantity,
sum(a.admission_count) as TicketQuantity
FROM vw_PrecioTipoZona_Paid as a
WHERE 1 = 1
AND a.performance_id ='DED63133-A099-4949-AA57-13BBE9462BAF'
GROUP BY a.performance_id
und ich dieses Ergebnis, das OK ist:
EventQuantity TicketQuantity
1 203
Aber wenn die Tabelle mit anderen verbindet, ist das Ergebnis weicht ist Summe, in diesem Fall a.admission_count
wird mit der Anzahl der Datensätze in der anderen Tabelle multipliziert.
Die Abfrage, das Problem hat, ist dies:
SELECT a.performance_id,
count(distinct(a.performance_id)) as EventQuantity,
sum(a.admission_count) as TicketQuantity,
b.payment_method as PaymentMethod
FROM vw_PrecioTipoZona_Paid as a inner join vw_Payment_UserByPerformance as b
on a.performance_id = b.performance_id
WHERE
1 = 1
and a.performance_id ='DED63133-A099-4949-AA57-13BBE9462BAF'
group by a.performance_id, b.payment_method
Mit dieser Abfrage ich bin dieses Ergebnis zu erzielen:
EventQuantity TicketQuantity PaymentMethod
1 10353 Cash
1 5887 Card
1 1624 MasterCardECommerce
1 812 VisaEcommece
Und das Ergebnis ist wron, sollte das Ergebnis sein:
EventQuantity TicketQuantity PaymentMethod
1 111 Cash
1 63 Card
1 17 MasterCardECommerce
1 8 VisaEcommece
Die vw_Payment_UserByPerformance Ansicht Struktur i s die folgen:
performance_id user_role_id userrole_name userrole_group date_transaction user_id user_name owner_user_id owner_user_name amount_adm_net amount_req_net amount_charge_charge amount_total amount_net chargeTransaction tax payment_method
Und die vw_PrecioTipoZona_Paid Ansicht Struktur der Nachfolger ist:
performance_id performance_name performance_start_date date_transaction user_role_id userrole_name userrole_group user_id user_name price_type price_zone price_zone_priority admission_count NET charge1 charge2 charge3 charge4 charge5 GROSS
Muss ich Unterabfrage machen? Wo ist das Problem hier?
Was ist das erwartete Ergebnis? Was ist der Punkt in "count (distinct (a.performance_id))", da Sie nach demselben Feld gruppieren? –
Wäre hilfreich, alle Identifizierungen (Tabellen- und Spaltennamen in diesem Fall) ins Englische zu übersetzen, damit wir die Semantik Ihrer Tabelle besser verstehen. – pintxo
@GiorgosBetsos Ich möchte auch die Anzahl der Tickets pro Art der Zahlung für jede Veranstaltung verkauft wissen. –