Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.419 Beiträge
 
Delphi 7 Professional
 
#2

AW: Queryfelder ohne Tablerows?

  Alt 6. Jun 2019, 12:09
Weiß nicht, ob ich die recht verstehe, meinst Du sowas in der Art?
SQL-Code:
CREATE TABLE DUAL (DUMMY VARCHAR(1));

insert into dual (dummy) values ('X');

select 'Wie Bitte?as Frage, 42 as Antwort from dual;
(Ja, ist etwas blöde das Beispiel )

Wenn ich Dich recht verstehe, möchtest Du doch wissen, wie Du Spalten in ein Abfrageergebnis bekommst, die nicht existieren.

Das geht eigentlich grundsätzlich in der Form: select 'irgendein konstanter Wertas Spaltenname from Tabelle . Für jede Zeile der Tabelle bekommst Du nun in der Spalte "Spaltenname" die Zeichenfolge "irgendein konstanter Wert" ausgegeben.

select 1 as Spaltenname from Tabelle geht natürlich auch. Im Programm kannst Du auf solche Spalten dann mit FieldByName('Spaltenname').AsString oder FieldByName('Spaltenname').AsInteger , je nach dem von Dir im Select vorgegebenen Datentyp, zugreifen.
SQL-Code:
select
  existierendes_Feld_1,
  existierendes_Feld_2,
  existierendes_Feld_3,
  'ein Textas nicht_existierende_Zeichenfolge_1,
  1 as nicht_existierende_Zahl_1
from Tabelle
where existierendes_Feld_1 = 'irgend ein Wert, für existierendes_Feld_1'
Das finde ich das Schöne bei Oracle: Mit Hilfe der Tabelle Dual kann man alles Mögliche und Unmögliche aus der Datenbank bekommen, ohne dass man dazu eine passende Tabelle mit entsprechenden Daten haben muss.
Kann man in anderen Datenbanken (sofern sie kein entsprechendes "Gegenstück" haben), leicht nachbauen.
  Mit Zitat antworten Zitat