2016-06-23 4 views
0

My:Wie nehme ich einen Wert kleiner als 0, wenn diese so erhalten wird? Abfrage

select c.location_id as id_gudang, c.location_name as nama_gudang, a.item_code as id_barang, a.item_name as nama_barang, sum(b.item_qty) as qty 
    from t_inventory as a 
    join t_inventory_transaction as b on a.item_id = b.item_id 
    join t_site_location as c on b.whse_id = c.location_id 
    group by a.item_code 

Diese Daten aus Abfrage

enter image description here

+0

Was genau ist Ihre Frage? Beispieldaten mit erwarteten Ergebnissen wären hilfreich. – sgeddes

+0

Möchten Sie Datensätze mit 'qty' <0? – Blank

+0

Ja, ich möchte die Menge <0 –

Antwort

0

Falls Sie möchten, können Sie Ihre SQL in eine Unterabfrage wie wickeln kann:

select * 
from (
    select c.location_id as id_gudang, c.location_name as nama_gudang, a.item_code as id_barang, a.item_name as nama_barang, sum(b.item_qty) as qty 
    from t_inventory as a 
    join t_inventory_transaction as b on a.item_id = b.item_id 
    join t_site_location as c on b.whse_id = c.location_id 
    group by a.item_code) t 
where qty < 0 

Oder benutzen Sie einfach HAVING:

select c.location_id as id_gudang, c.location_name as nama_gudang, a.item_code as id_barang, a.item_name as nama_barang, sum(b.item_qty) as qty 
from t_inventory as a 
join t_inventory_transaction as b on a.item_id = b.item_id 
join t_site_location as c on b.whse_id = c.location_id 
group by a.item_code 
having qty < 0 
0

Angenommen, wenn Sie sagen, Sie qty < 0 wollen, dass Sie null Werte (jene, die in dieser Tabelle nicht existieren) möchten, dann Sie müssen stattdessen einen outer join verwenden:

Dies gibt alle Datensätze aus der Tabelle t_inventory unabhängig davon, ob sie in den anderen Tabellen nicht vorhanden sind.

Verwandte Themen