AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi In View Tabellen unterscheiden
Thema durchsuchen
Ansicht
Themen-Optionen

In View Tabellen unterscheiden

Ein Thema von Cobra · begonnen am 10. Dez 2003 · letzter Beitrag vom 12. Dez 2003
Antwort Antwort
Cobra

Registriert seit: 29. Okt 2002
55 Beiträge
 
#1

In View Tabellen unterscheiden

  Alt 10. Dez 2003, 15:17
Hallo @all,

habe mich jetzt ihr http://www.delphipraxis.net/viewtopi...=105851#105851 für einen View entschieden.
( nur das ich nicht alles nochmal erklären muss )

Also in dem View will ich jetzt mehr als eine Spalte (mit UNION) aus zwei Tabellen aufnehmen.
Wie kann ich es machen, dass ich bei jedem Datensatz aus dem View unterscheiden kann ob dieser aus der ersten oder aus der zweiten Tabelle kommt.

MFG
Cobra
  Mit Zitat antworten Zitat
Funky-Sepp

Registriert seit: 14. Okt 2003
Ort: Freudenricht/Velburg
56 Beiträge
 
#2

Re: In View Tabellen unterscheiden

  Alt 10. Dez 2003, 15:26
Beispiel:

SQL-Code:

  Select ID, ( Cast ("KUNDEN") as Varchar( 50 ) ) as Tabellenname from Kunden
  Union
  Select ID, ( Cast ("LIEFERANTEN) as Varchar( 50 ) ) as Tabellenname from Lieferanten
Wolfgang
  Mit Zitat antworten Zitat
Cobra

Registriert seit: 29. Okt 2002
55 Beiträge
 
#3

Re: In View Tabellen unterscheiden

  Alt 10. Dez 2003, 16:08
Hallo Funky-Sepp,

Danke!!!!

Irgendwie sehe ich heute den Wald vor lauter Bäumen nicht.
MFG
Cobra
  Mit Zitat antworten Zitat
Funky-Sepp

Registriert seit: 14. Okt 2003
Ort: Freudenricht/Velburg
56 Beiträge
 
#4

Re: In View Tabellen unterscheiden

  Alt 10. Dez 2003, 16:15
Bitte

<-- ist das nicht etwas zu schmerzhaft?
Wolfgang
  Mit Zitat antworten Zitat
Cobra

Registriert seit: 29. Okt 2002
55 Beiträge
 
#5

Re: In View Tabellen unterscheiden

  Alt 10. Dez 2003, 16:20
Ok habe mich beruhigt und Kaffee geholt und jetzt gehts weiter.


Funky-Sepp
MFG
Cobra
  Mit Zitat antworten Zitat
Cobra

Registriert seit: 29. Okt 2002
55 Beiträge
 
#6

Re: In View Tabellen unterscheiden

  Alt 11. Dez 2003, 14:44
@ Funky-Sepp und auch alle anderen

SQL-Code:
  Select ID, ( Cast ("KUNDEN") as Varchar( 50 ) ) as Tabellenname from Kunden
  Union
  Select ID, ( Cast ("LIEFERANTEN) as Varchar( 50 ) ) as Tabellenname from Lieferanten
das funktioniert nicht bei mir der Fehler kommt beim Cast.

Das geht:
SQL-Code:
  Select SBatchNo,'Faults as Tabelle from Log_Faults
  Union all
  Select SBatchNo,'Actionsas Tabelle from Log_GxP_Actions
Aber wie bekomme ich das mit dem Cast hin, denn das mit dem zusätzlichen Leerzeichen bei Faults ist nicht die schönste Lösung.

Info: Ich benutze Interbase 6.01 und die IBX-Komponenten für den Zugriff.
MFG
Cobra
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#7

Re: In View Tabellen unterscheiden

  Alt 11. Dez 2003, 14:49
Wozu die Leerzeichen?
Bei mir klappt sowas auch ohne Cast oder alle Strings auf gleiche Länge zu schreiben.
  Mit Zitat antworten Zitat
Cobra

Registriert seit: 29. Okt 2002
55 Beiträge
 
#8

Re: In View Tabellen unterscheiden

  Alt 11. Dez 2003, 14:57
Interbase Fehlermeldung aus Marathon ( da komme ich nicht gegen an )

ISC ERROR CODE:335544569

ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Invalid command
Data type unknown


bei bei der zuvor benannten SQL ohne das Leerzeichnen SQL Dialect 1, denn Dialect 3 kann ich nicht benutzen.
MFG
Cobra
  Mit Zitat antworten Zitat
Funky-Sepp

Registriert seit: 14. Okt 2003
Ort: Freudenricht/Velburg
56 Beiträge
 
#9

Re: In View Tabellen unterscheiden

  Alt 11. Dez 2003, 18:49
Hi Cobra.

Hat ein bisschen länger gedauert.

Aber ich glaub du kannst keinen Cast bei einem View in Interbase machen,
aber die Felder müssen gleichlang sein.

Also ist deine Lösung gar nicht schlecht. Ich glaube des geht auch nicht anders.
Wie's bei Oracle aussieht weiß ich leider nicht, da ich noch nie mit Oracle gearbeitet habe.

SQL-Code:
  Select ID, ( Cast ("KUNDEN") as Varchar( 50 ) ) as Tabellenname from Kunden
  Union
  Select ID, ( Cast ("LIEFERANTEN) as Varchar( 50 ) ) as Tabellenname from Lieferanten
Aber vielleicht geht's ja mit der neuen Interbase Firebird??
Hab die leider grad nicht zur hand.

mfg

Wolfgang
Wolfgang
  Mit Zitat antworten Zitat
Cobra

Registriert seit: 29. Okt 2002
55 Beiträge
 
#10

Re: In View Tabellen unterscheiden

  Alt 12. Dez 2003, 10:25
Hallo Funky-Sepp

Habe jetzt den View zusammen und es ´funktioniert alles wunderbar. 8)


Hier mal die kleine SQL dazu
SQL-Code:
  Select A.PK_Log_Faults as PK ,A.SBatchNo,A.DTTimeStamp,A.SProductName,'F+as Tabelle,
  B.SDescription1,E.SUser_Name1,E.SUser_Name2
  from Log_Faults A
  Join Faults B on A.IFK_Faults = B.PK_Faults AND A.Bogekommen = 'T'
  Join Log_Faults_ACK E on A.PK_LOG_Faults = E.IFK_LOG_Faults AND E.bosuccess = 'T'
  Union all
  Select A.PK_Log_Faults as PK,A.SBatchNo,A.DTTimeStamp,A.SProductName,'F-as Tabelle,
  B.SDescription1,E.SUser_Name1,E.SUser_Name2 from Log_Faults A
  Join Faults B on A.IFK_Faults = B.PK_Faults AND A.Bogekommen = 'F'
  Join Log_Faults_ACK E on A.PK_LOG_Faults = E.IFK_LOG_Faults AND E.bosuccess = 'T'
  union all
  Select C.PK_Log_GxP_Actions as PK,C.SBatchNo,C.DTTimestamp,C.SProductName,' Aas Tabelle,
  D.SDescription1,C.SUser_Name1, C.SUser_Name2 from Log_GxP_Actions C
  Join GXP_Actions D on C.IFK_GXP_Actions = D.PK_GxP_Actions
MFG
Cobra
  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 04:53 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