2016-06-23 1 views
0

マイクエリ:このように記録された場合、0未満の値を取る方法は?

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 

クエリから、このデータを、その後、あなたはあなたがnull値(そのテーブルに存在しないものを)したいqty < 0をしたいと言ったときに仮定し

enter image description here

+0

正確にあなたの質問は何ですか?期待される結果のサンプルデータが役立ちます。 – sgeddes

+0

'qty' <0のレコードが必要ですか? – Blank

+0

はい、iam want qty <0 –

答えて

0

、あなたのようなサブクエリにあなたのSQLをラップすることができます使用

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 

それとも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

あなたは代わりにouter joinを使用する必要があります:

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 
    left join t_inventory_transaction as b on a.item_id = b.item_id 
    left join t_site_location as c on b.whse_id = c.location_id 
group by a.item_code 

彼らは他のテーブルに存在しない場合、これは関係なく、t_inventoryテーブルからすべてのレコードを返します。あなたがそれをしたい場合

関連する問題