2017-12-28 7 views
0

Das Ergebnis sind viele Wiederholungszeilen (alle Conlums wiederholen) Wie verwenden Sie Gruppe von ohne inneren Join? Ich nutze eine Unterabfrage in diesem Fall.Wie verwendet man GROUP BY in SQL-Unterabfrage ohne arithmetische Zählung

Dies ist fiktives Beispiel, mach dir keine Sorgen Logik oder Sinn dieses Beispiel. Ich brauche Gruppe von in Unterabfrage von vielen Tabellen.

Ich kann Gruppe mit Inner Join verwenden, aber in diesem Fall kann ich nicht innere Join verwenden.

select  
    NAME, 
    AGE, 
    JOB 

from (
    select 
     pe.name NAME, 
     pe.age AGE, 
     jb.work JOB 
    from 
     pearson pe, 
     job jb 
    ) 
group by NAME, AGE, JOB 
+1

Ihre Frage unklar ist. –

+0

vielleicht sollten Sie Oracle-Tag hinzufügen, da dieser Link für Oracle ist? – Zorkind

+1

Leider (soweit es mich betrifft) ist dein fiktives Beispiel * zu abstrakt * für mich, um herauszufinden * was du versuchst zu tun *. Zumindest können einige * Stichprobendaten * und * erwartete Ergebnisse * dies verdeutlichen. –

Antwort

1

Ja Sie eine Gruppe von in diesem Fall verwenden können, aber Sie werden einen Alias-Namen der inneren Abfrage erstellen, müssen wie unten dargestellt:

SELECT A.NAME, A.AGE, A.JOB 
FROM (
    SELECT pe.name NAME, pe.age AGE, jb.`function` JOB 
    FROM pearson pe, job jb 
) A 
GROUP BY A.NAME, A.AGE, A.JOB; 
+1

Wenn dies tatsächlich zwischen dem OP und seinem Code funktioniert, haben sie einen erschreckend schlechten Job gemacht, indem sie * die Fehlermeldung, die dieses Fehlen eines Alias ​​erzeugt, nicht nennen würden * –