2016-06-20 3 views
1

Ich möchte die Beschreibung und das Modell von allinventory_tb bekommen.MySQL Union alle kombinieren mit MySQL Inner Join

Also habe ich inner join gemacht, aber wenn ich Beschreibung und Modell anzeigen werde. dies ist

Der Fehler:

Notice: Undefined index: Beschreibung, Notice: Undefined index: Modell.

Irgendwelche Vorschläge?

|allinventory_tb| 
    ---------------- 
    |in_code  | 
    |description | 
    |model   | 
    --------------- 
    $sql = "select t.itemcode as itemcode ,sum(t.qty) as qty 
    from ( 
    select itemcode,qty from barcode INNER JOIN allinventory_tb on barcode.itemcode = allinventory_tb.in_code 
    union all 
    select itemcode,qty from adjustment_tb INNER JOIN allinventory_tb on adjustment_tb.itemcode = allinventory_tb.in_code where adjustment_tb.status='APPROVED' 
    union all 
    select itemcode,(qty * -1) from soldout_pd INNER JOIN allinventory_tb on soldout_pd.itemcode = allinventory_tb.in_code) as t 
    group by itemcode"; 

    $result = $conn->query($sql); 
+0

Ihr Fehler wie sieht es aus PHP anstatt MySQL kommt. Wird die unbearbeitete Abfrage in MySQL ohne Fehler ausgeführt? Welchen Fehler gibt dir die Konsole? –

+0

Abfrage läuft ohne Fehler, der Fehler wird angezeigt, wenn ich die Zeile in allinvty_tb anzeigen werde, obwohl ich bereits die INNER JOIN-Sache gemacht habe. – codeSeven

+0

Können Sie _please_ konsistent auf Ihre Tabellennamen verweisen? Ich sehe _Three_ Versionen des Namens nur in Ihrer Frage allein: 'allinventory_tb',' allinvty3' und 'allinvty_tb'. –

Antwort

1

Ihre Anfrage dh

$sql = "select t.itemcode as itemcode ,sum(t.qty) as qty 
    from ( 
    select itemcode,qty from barcode INNER JOIN allinventory_tb on barcode.itemcode = allinventory_tb.in_code 
    union all 
    select itemcode,qty from adjustment_tb INNER JOIN allinventory_tb on adjustment_tb.itemcode = allinventory_tb.in_code where adjustment_tb.status='APPROVED' 
    union all 
    select itemcode,(qty * -1) from soldout_pd INNER JOIN allinventory_tb on soldout_pd.itemcode = allinventory_tb.in_code) as t 
    group by itemcode"; 


    $result = $conn->query($sql); 

Sie werden nicht in der Lage Beschreibung und Modell Spalte Wert zuzugreifen, weil Ihr nicht Lust Spaltennamen in der Abfrage angeben, so dass, wenn Sie versuchen, Abfrageergebnis zugreifen in PHP erhalten Sie Notice Error wie:

Hinweis: Undefinierter Index: Beschreibung, Hinweis: Undefinierter Index: Modell.

Diese Abfrage

$sql = "select description,model,t.itemcode as itemcode ,sum(t.qty) as qty 
    from ( 
    select description,model,itemcode,qty from barcode as bc INNER JOIN allinventory_tb as ait on bc.itemcode = ait.in_code 
    union all 
    select description,model,itemcode,qty from adjustment_tb as adt INNER JOIN allinventory_tb as ait1 on adt.itemcode = ait1.in_code where adjustment_tb.status='APPROVED' 
    union all 
    select description,model,itemcode,(qty * -1) from soldout_pd as slp INNER JOIN allinventory_tb as ait2 on slp.itemcode = ait2.in_code) as t 
    group by itemcode"; 


$result = $conn->query($sql); 

Hope this für Sie ...

+0

Hinweis: Versuchen, die Eigenschaft von Nicht-Objekt zu erhalten. Ich überprüfe es bereits. – codeSeven

+0

@codeSeven können Sie Ihr var_dump() - Ergebnis basierend auf der obigen Abfrage posten. Ich denke, Sie greifen falsch darauf zu. –

+0

Ich stimme @FaisalMohmand zu und posten Sie Ihr var_dump() Ergebnis –