hemorieder
Lieutenant
- Registriert
- März 2003
- Beiträge
- 652
Hey,
ich habe folgende Situation, ich habe eine Datenbank welche Bestellmengen und Produktpreise enthält.
Nun ist es so, dass einige Produktpreise nicht in Euro sind. Ich kann genau sagen, in welchem Fall ein Produktpreis umgerechnet werden sollte.
Meine Frage ist nun, kann ich innerhalb der Abfrage dies schon berücksichtigen? Z.b mit CASE?
Hier meine aktuelle Abfrage:
In dem Fall stimmt das Ergebnis des Umsatzes nicht, da nämlich beim o.po_id = 1111 , die Währung Schweizer Franken ist.
Kann ich nun irgendwie die Abfrage so modifizieren, dass wenn es sich gerade bei der gefundenen Bestellung um eine solche von o.po_id = 1111 handelt, die Summe der Produktpreise *0,93 gerechnet wird (Wechselkurs des Franken).
Versteht ihr was ich meine?
Lg
ich habe folgende Situation, ich habe eine Datenbank welche Bestellmengen und Produktpreise enthält.
Nun ist es so, dass einige Produktpreise nicht in Euro sind. Ich kann genau sagen, in welchem Fall ein Produktpreis umgerechnet werden sollte.
Meine Frage ist nun, kann ich innerhalb der Abfrage dies schon berücksichtigen? Z.b mit CASE?
Hier meine aktuelle Abfrage:
SQL:
select
case when( oi.client_type is null) then os.client_type else oi.client_type end as Client,
count(distinct o.order_id) as Orders,
round((sum(oi.product_price))/100::numeric,2) as Bruttoumsatz
from order o
left join orderitem oi using (order_id)
left join product p using (product_id)
left join order_source os using (order_id)
where created >='2021-04-01'
and created < '2021-08-01'
and o.po_id in (1234,0000,1111,2222)
and o.test_status is null
and o.status in ('X', 'Y', 'Z')
group by client
order by client
In dem Fall stimmt das Ergebnis des Umsatzes nicht, da nämlich beim o.po_id = 1111 , die Währung Schweizer Franken ist.
Kann ich nun irgendwie die Abfrage so modifizieren, dass wenn es sich gerade bei der gefundenen Bestellung um eine solche von o.po_id = 1111 handelt, die Summe der Produktpreise *0,93 gerechnet wird (Wechselkurs des Franken).
Versteht ihr was ich meine?
Lg