Announcement

Collapse
No announcement yet.

Doppelte Zeilen zusammenfassen

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

  • Doppelte Zeilen zusammenfassen

    Hallo

    Ich habe eine Tabelle in der alle Telefon- Handy und Faxnummer zu jedem Kontakt abgelegt sind.
    Nun ist es aber so, das für jede Art (Telefon- Handy und Faxnummer) jeweils eine Zeile exisitiert.
    Das möchten wir in einem View alles auf eine Zeile bringen, was mir aber bisher nicht gelingt. Ich glaube das ich hier mit einer case Abfrage (siehe Code) nicht weiter komme, bin mir aber nicht sicher
    Code:
    SELECT        CRM5.person.person_id AS ID, CRM5.contact.name AS Kunde, CRM5.person.lastname AS Name, CRM5.person.firstname AS Vorname, CONVERT(varchar, 
                   case (CRM5.phone.phone) when (CRM5.phone.description) ='Telefon' then AS Phone
    				       when (CRM5.phone.description) ='Telefax' then AS Fax
    				       Else then AS Offen
    				       END,
              CRM5.email.email_address
    FROM            CRM5.phone INNER JOIN
                             CRM5.contact INNER JOIN
                             CRM5.person ON CRM5.contact.contact_id = CRM5.person.contact_id ON CRM5.phone.owner_id = CRM5.person.person_id INNER JOIN
                             CRM5.email ON CRM5.person.person_id = CRM5.email.person_id
    GROUP BY CRM5.person.person_id, CRM5.contact.name, CRM5.person.lastname, CRM5.person.firstname, CRM5.phone.phone, CRM5.email.email_address, 
                             CRM5.phone.description
    Könnte bitte mal jemand drüber schauen und mir sagen, wo mein Fehgler liegt

    Ich bedanke mich im voraus


    Hartwig

  • #2
    Hallo Hartwig,

    ist ehrlich gesagt etwas schwer verständlich, was genau Du möchtest.
    Möchtest Du die Telefon/Fax/Handy Nummer nun in drei Zeilen haben oder in drei separate Spalten (danach sieht der Versuch mit CASE WHEN etwas aus)?

    Das CASE WHEN geht so jedenfalls nicht. Entweder
    CASE <Feld> WHEN <Vergleichswert>
    oder
    CASE WHEN <Feld> = <Vergleichswert.

    Willst Du vielleicht auf das hier raus (separate Spalten für die Nummer)?
    [highlight=SQL]...,
    CASE WHEN CRM5.phone.description = 'Telefon'
    THEN CRM5.phone.phone ELSE NULL END AS Phone,
    CASE WHEN CRM5.phone.description = 'Telefax'
    THEN CRM5.phone.phone ELSE NULL END AS Fax,[/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
      Hallo O.Helper

      Danke und ja Du hast es richtig erkannt.
      Werde beim nächsten Mal besser auf die Formulierung achten.
      Jetzt kann ich die Daten besser im Reporting Service verarbeiten.

      Danke Hartwig

      Comment

      Working...
      X