AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ADO und Subselect

Ein Thema von Sidorion · begonnen am 12. Sep 2007 · letzter Beitrag vom 15. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2      
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#1

ADO und Subselect

  Alt 12. Sep 2007, 09:48
Datenbank: Oracle • Zugriff über: ADO
Hallo zusammen,
kann das sein, dass ADO nicht mit Subselects klarkommt? Sobald ich neben normalen Spalten der Tabelle A einen subselect auf Tabelle B mache kommt der Oraclefehler 'Rechte Klammer fehlt'. Hierbei ist das Statement selber ziemlich egal, sobald irgendein Subselect drin ist kommt der Fehler.
Konkret benutze ich einen TADOCommand und weise das Statement dem CommandText zu.
Das Statement funktioniert im SQLExplorer und SQLPlus tadellos.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: ADO und Subselect

  Alt 12. Sep 2007, 09:53
Zeig mal dein Statement.
Markus Kinzler
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#3

Re: ADO und Subselect

  Alt 12. Sep 2007, 12:42
kann ich gerne machen, aber wie gesagt, sobeald auch nur irgendein subselect vorkommt gehts nimmer (in 'normalen' Datenbankzugriffsprogrammen schon).
SQL-Code:
select
  trunc(avsgendt) Tag,
  count(*) Anzahl,
  sum((select sum(artquant) from cstordps where cstordps.cstordnm=cstordhd.cstordnm)) Packstuecke
from cstordhd
where srctype='Host'
and trunc(avsgendt)>=trunc(SYSDATE-10)
and trunc(avsgendt)<=trunc(SYSDATE)
and custclnt='Loewe'
group by trunc(avsgendt)
union
select
  trunc(avsgendt) Tag,
  count(*) Anzahl,
  sum((select sum(artquant) from cstordpsj where cstordpsj.cstordnm=cstordhdj.cstordnm)) Packstuecke
from cstordhdj
where srctype='Host'
and trunc(avsgendt)>=trunc(SYSDATE-10)
and trunc(avsgendt)<=trunc(SYSDATE)
and custclnt='Loewe'
group by trunc(avsgendt)
es reich aber auch schon ein
SQL-Code:
select
  einfeld,
  (select nocheinfeld from andereTabelle where tabelle.joinfeld=andertabelle.joinfeld) test
from tabelle
wobei hier natürlich gesichert sein muss, dass der subselect nur eine row liefert, aber das wäre ja dann ein anderer oracle-fehler.
p.s. ums nochmal deutlich zu machen: statement funktioniert im SQL-Explorer UND in SQLPlus.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: ADO und Subselect

  Alt 12. Sep 2007, 13:21
Lustic, aber umgehe das Problem doch einfach, indem Du die Query in eine VIEW schmeisst.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#5

Re: ADO und Subselect

  Alt 12. Sep 2007, 13:44
Nachdem das eine Art DB-Explorer ist und dieses Statement vom Nutzer eingegeben wird, fällt diese Option allerdings aus. Das Programm wird benutzt, um beim Kunden auf die Datenbank bequem zugreifen zu können, ohne die BDE installieren zu müssen.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: ADO und Subselect

  Alt 12. Sep 2007, 13:48
Welche Datenbanken sollen unterstützt werden?
Markus Kinzler
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: ADO und Subselect

  Alt 12. Sep 2007, 13:56
Es gibt für Oracle doch bestimmt soetwas wie einen SQL-Monitor. Schau doch mal, was ADO an Oracle schickt?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#8

Re: ADO und Subselect

  Alt 12. Sep 2007, 22:56
@Sidorion, änder doch mal deinen Titel, was du da hast, ist kein Subselect, sondern 'n UNION.

wenn du den titel richtig wählst, findet sich wohl auch eher einer, welcher dir weiterhelfen kann, ausserdem, wenn ein anderer ein ähnliches problem hat, findet er dann auch eine lösung mit der suche ... so nicht.

grüss und noch 'n schönen abend.

PS: auch dein zweites beispiel, ist kein subselect... sondern eine nicht standard erweiterung deines db servers.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: ADO und Subselect

  Alt 13. Sep 2007, 06:32
Warum soll das kein Subselect sein?
Markus Kinzler
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: ADO und Subselect

  Alt 13. Sep 2007, 07:44
Zitat von grenzgaenger:
PS: auch dein zweites beispiel, ist kein subselect... sondern eine nicht standard erweiterung deines db servers.
Äh.. Nö.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 03:30 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