Announcement

Collapse
No announcement yet.

Problem bei einem Join

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem bei einem Join

    Hallo zusammen,

    an sich ist es ein einfaches Problem, was ich habe aber offensichtlich scheitere ich daran.

    2 Tabellen:

    Code:
    ID	Name
    --------------------
    1	Frank
    2	Uschi
    3	Bernd
    .	.
    .	.
    .	.
    
    
    ID	Code	Counter
    ---------------------------------------
    1	X	1
    1	Y	2
    1	Z	3
    2	A	1
    2	B	2
    3	F	1
    3	G	2
    .	.	.
    .	.	.
    .	.	.
    Ziel ist es den "Code" aus TAB2 an TAB1 'ranzujoinen', wobei der aktuellste "Code" verwendet werden soll. Will heißen, der "Code" mit dem höchsten "Counter" soll an den entsprechenden Datensatz gejoint werden.

    Ergebnis sollte folgendermaßen aussehen:

    Code:
    ID	Name	Code
    ---------------------------------
    1	Frank	Z
    2	Uschi	B
    3	Bernd	G
    Versuch:

    select
    a.ID,
    a.Name,
    b.Code
    from TAB1 left join TAB2 on (
    a.ID = b.ID AND
    b.ID = (select max(Counter...
    )

    ... und da verließen sie ihn.

    Vielen Dank im Voraus

    Euer Jakl

  • #2
    Hallo Jakl,

    Du kannst die Aggregation MAX mit GROUP BY auch direkt verwenden:
    [highlight=sql]select a.ID, a.Name, MAX(b.Code) As MaxCode
    from TAB1
    left join TAB2
    on a.ID = b.ID
    GROUP BY a.ID, a.Name[/highlight]
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Vielen Dank

      Comment

      Working...
      X