AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Interbase - Subquery mit zurückgegebener Zeile
Thema durchsuchen
Ansicht
Themen-Optionen

Interbase - Subquery mit zurückgegebener Zeile

Ein Thema von r_kerber · begonnen am 10. Nov 2003 · letzter Beitrag vom 10. Nov 2003
Antwort Antwort
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#1

Interbase - Subquery mit zurückgegebener Zeile

  Alt 10. Nov 2003, 08:33
Hallöchen,

kann Interbase 6.5 keine SubQueries, die eine Zeile als Antwort zurückgeben?
SQL-Code:
select name, vorname, plz
from mitarbeiter
where (plz, strasse) = (select plz, strasse
                from kunde
                where kundennummer = 2)
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Interbase - Subquery mit zurückgegebener Zeile

  Alt 10. Nov 2003, 08:43
Hallo r_kerber,

doch, aber anders :

SQL-Code:
select name, vorname, plz
from mitarbeiter
where (plz || strasse) = (select plz || strasse
                from kunde
                where kundennummer = 2)
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#3

Re: Interbase - Subquery mit zurückgegebener Zeile

  Alt 10. Nov 2003, 08:47
Hallo Spocky,

vielen Dank. Ist das SQL-Standard?
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Interbase - Subquery mit zurückgegebener Zeile

  Alt 10. Nov 2003, 10:24
Hallo r_kerber,

der Zusammenfügungsoperator || ist standard. Es ist ein wenig anders als deine Abfrage, weil ja hier der Feldtyp immer in "String" umgewandelt wird und dann mit dem anderen Feld zu einem String zusammengefügt wird. Wenn es möglich wäre, dass durch das Konkatenieren ein Ergebnis gleich ist, ohne dass di einzelnenFelder gleich sind, muss es noch etwas anders aussehen. Beispiel:
Vorname1 = Hans Peter Nachname1 = Schmidt, Vorname 2 = Hans, Nachname2 = Peter Schmidt.

OK, ist vielleicht kein sehr gutes Beispiel, aber Vorname || Nachname wäre gleich, obwohl es hier zwei unterschiedliche Einträge sind. In diesem Fall wäre es sinnvoller:

SELECT Vorname || '#' || Nachname ...
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#5

Re: Interbase - Subquery mit zurückgegebener Zeile

  Alt 10. Nov 2003, 10:57
Hallo MrSpock,

ich habe beide SQL-Statements testen lassen: Mimer SQL-92 Validator. Ergebnis: meine Variante ist Full SQL-92 und Deine Transitional SQL-92 (also übergangsweise bzw. vorrübergehend). Interessanterweise ist meine Variante bei SQL-99 nicht mehr zugelassen.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Interbase - Subquery mit zurückgegebener Zeile

  Alt 10. Nov 2003, 11:31
Hallo r_kerber,

ist eine sehr interessante Seite. Woher weißt du, dass deine Anweisung nicht mehr SQL-99 kompatibel ist? Wie sieht es mit meiner aus, ist die denn in SQL-99 noch erlaubt? Außerdem würde mich interessieren, warum meine Anweisung nur Transitional und nicht Full compatible ist!?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#7

Re: Interbase - Subquery mit zurückgegebener Zeile

  Alt 10. Nov 2003, 11:34
Hallo MrSpock,

es gibt dort auch einen SQL-92-Validator. Und der sagt zu Deiner Variante Conforms to Core SQL-99 und zu meiner The following feature outside Core SQL-99 is used: F641, "Row and table constructors".
  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 08:32 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