2017-03-15 2 views
0

ich habe table master: barang und table view: v_barang und ich habe diese Anfrage:Abfragelogik Lösung

SELECT v_barang.part_number , barang.total FROM v_barangINNER JOIN barang WHERE v_barang.id_item = barang.id_item 

aber bevor die Abfrage der Ergebnisse zeigt i aus Tabelle barang if stock.barang >= 1 Abfrage anzeigt, sonst nicht angezeigt überprüfen möchten.

+0

Sie es bei dem Zustand, –

Antwort

1

Sie können VORHANDEN:

select * from v_barang where id_kategori = 2 
       AND exists(select * from barang where stock.barang >= 1) 

Exists sicherzustellen, dass Unterabfrage einige Datensatz zurückgibt und wenn kein Datensatz aus Unterabfrage zurück, dann gäbe es kein Ergebnis mit ganzen Abfrage sein.

Basierend auf OP Kommentar Abfrage, können Sie wie folgt tun:

SELECT v_barang.part_number , barang.total FROM v_barang 
    INNER JOIN barang ON v_barang.id_item = barang.id_item WHERE barang.total >= 1 
+0

nicht sir arbeiten hinzufügen kann ich Haben Sie diese Abfrage SELECT v_barang.part_number, barang.total VON v_barangINNER JOIN barang WHERE v_barang.id_item = barang.id_item. und dann möchte ich Auswahl in Tabelle Barang, wo insgesamt> = 1 –

+0

Ich habe Abfrage aktualisiert und Sie können mit der neuesten –

+0

Dank es ist Arbeit –

0

Prüfung die Anzahl der Zeile mit SELECT COUNT(*) FROM v_barang WHERE id_kategori = 2

+0

Ich wurde meine Frage aktualisiert –

0
SELECT v_barang.part_number , barang.total FROM v_barang 
INNER JOIN 
barang WHERE v_barang.id_item = barang.id_item 
AND 
stock.barang >= 1;