AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MSSQL - View mit verketteten Feldern
Thema durchsuchen
Ansicht
Themen-Optionen

MSSQL - View mit verketteten Feldern

Ein Thema von jensw_2000 · begonnen am 6. Okt 2004 · letzter Beitrag vom 6. Okt 2004
Antwort Antwort
jensw_2000
(Gast)

n/a Beiträge
 
#1

MSSQL - View mit verketteten Feldern

  Alt 6. Okt 2004, 15:49
Hallo zusammen,

ich finde keine solide Lösung für eine SQL Abfrage mit verketteten Feldern.

Erstmal ein paar Details:

Ich habe eine Datenkank "KontaktDB" auf einem MSSQL-Server (MSDE 2000 SP3).
In der DB gibe es eine Tabelle "Adressen" die wie folgt strukturiert ist:

ID UniqueIdentifier NOT NULL Default newid()
Name nvarchar(30)
vorname nvarchar(30)
Strasse nvarchar(30)
PLZ nvarchar(5)
Ort nvarchar(30)
Telefon nvarchar(30)
Email nvarchar(30)


Ich muss nun eine View basteln, die mit die Adressdaten formattiert in einer einzigen Spalte ausgibt.
(etwa so)

Vorname Name
Strasse
PLZ ORT
Tel: Telefon
Email: Email

Derzeit verkette ich die Felder in der Abfrage mit "+" und die Zeilenumbrüche mache ich mit +CHAR(13)+CHAR(10)
Die fertige Abfrage sie so aus:

SQL-Code:
SELECT VORNAME+' '+NAME+CHAR(13)+CHAR(10)+
       STRASSE+CHAR(13)+CHAR(10)+
       PLZ+' '+ORT+CHAR(13)+CHAR(10)+
       'Tel: '+TELEFON+CHAR(13)+CHAR(10)+
       'Email: '+EMAIL AS Kontakt
FROM Adressen
Generell funktioniert das Ganze, nur habe ich ein Problem, wenn eines der Felder NULL ist (z.B. keine Telefonnummer eingetragen).
Dann wird automatisch der komplette verkettete Wert "Kontakt" = NULL

Da die Datenbank aus einer fremden Anwendung heraus gefüllt wird, könnte ich nur verhindern das keine NULL Werte in die Tabelle geschrieben werden, indem ich Defaults setze.
Da es sich dabei um eine fremde DB handelt möchte ich mir Änderungen an den bestehenden Tabellenstrukturen jedoch als letzte Möglichkeit offen lassen.

Gibt es eine Möglichkeit die Abfrage so zu gestalten, das die Verkettung nicht als NULL ausgegeben wird eines der Felder NULL ist ?
Wenn ja, dann noch einen Schritt weiter ...
Angenommen "TELEFON" ist NULL ... kann man das 'Tel: ' und den Zeilenumbruch unterdrücken wenn in dem jeweiligen Datensatz keine Telefonnummer vorhanden ist ?


Danke,
Jens
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.174 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: MSSQL - View mit verketteten Feldern

  Alt 6. Okt 2004, 16:04
Schau dir mal die Funktionen CAST, CONVERT und CASE in der Transact-SQL-Hilfe an.
Diese sollten dein Problem lösen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#3

Re: MSSQL - View mit verketteten Feldern

  Alt 6. Okt 2004, 20:41
Cast und Convert geben auch NULL zurück, aber Case ist perfekt.


Danke für den Tip...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz