2016-11-21 5 views
1

Ich versuche, zwei Tabellen, prcshd (Kopftabelle) und Prcsdt (Detail-Tabelle), und die Anzahl der prod_prcshd_id in prcsdt (Detail-Tabelle) ohne zu wo (bei Bedarf kann Unterabfrage verwenden). Nicht sicher ...Join zwei Tabellen erhalten zählen, ohne zu verwenden, wo Bedingung

Versuchte wie

select distinct count(b.prod_prcshd_id), b.prod_prcshd_id 
from tra_pharmacy_prod_prcshd a join 
    tra_pharmacy_prod_prcsdt b 
    on b.prod_prcshd_id = a.id 
group by b.dt_id 

Meine Tabellen:

prcshd (Haupttisch)

id(pk) | medi_name_id | med_prep_id 
1  83     1 
2  83     2 

prcsdt (Detailtabelle)

dt_id(pk) | prod_prcshd_id(fk) | type_id | prod_name_id |medi_prep_id 
1   1     4   83    1 
2   1     5   83    1 
3   1     6   83    1 
4   2     4   83    2 

immer noch kein Glück.

id | prod_prcshd_id | medi_name_id 
1   3    83 
2   1    83 
+0

@sorry für schlechte Ausrichtung –

+2

(1) I die inkompatiblen Datenbank-Tags entfernt . (2) Bearbeiten Sie Ihre Frage und beschreiben Sie, welche * Ergebnisse * Sie erhalten möchten. Die Frage ist unklar. –

+0

bitte gewünschten Ausgang angeben ... – Vikrant

Antwort

1

Ich bin mir nicht sicher, ob dies Ihr Problem beheben wird. Aber Sie fast nie brauchen select distinct mit group by. Ich vermute, Sie wollen eine dieser dies:

select b.prod_prcshd_id, count(b.prod_prcshd_id) 
from tra_pharmacy_prod_prcshd a join 
    tra_pharmacy_prod_prcsdt b 
    on b.prod_prcshd_id = a.id 
group by b.prod_prcshd_id; 

In den meisten Fällen brauchen Sie nicht einmal die join:

select ppp.prod_prcshd_id, count(*) 
from tra_pharmacy_prod_prcsdt ppp 
group by ppp.prod_prcshd_id; 
+0

Danke für die Zeit. Funktioniert gut –

Verwandte Themen