Schrift
[thread]3568[/thread]

select in select: verschachtelungen



<< |< 1 2 >| >> 12 Einträge, 2 Seiten
dani
 2005-05-17 16:26
#33236 #33236
User since
2005-03-07
38 Artikel
BenutzerIn
[default_avatar]
hallo zusammen..

ich habe eine Frage...
ich habe 3 Abfragen mit select, welche aber Alle an sich unabhängig voneinander sind, aber schlussendlich in einem array stehen müssen (mittels ALIAS nacher auch wieder auffindbar)...
ich darf aber nur eine select Abfrage machen,
darf also nicht 3 mal separate sql statement ausgeführt werden....

geht das irgendwie!?

edit:
habe im buch Oracle SQL von O Reilly etwas von subquery gelesen... (falls das hilft..)

edit2:
die Selects sind nicht im WHERE irgendwas IN (SELECT usw..) möglich\n\n

<!--EDIT|dani|1116334017-->
GwenDragon
 2005-05-17 17:30
#33237 #33237
User since
2005-01-17
14784 Artikel
Admin1
[Homepage]
user image
Crian
 2005-05-17 17:40
#33238 #33238
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Es gibt Datenbanken, die verstehen subselects. Oracle ist eine davon.
Wenn Du aber nur Ergebnismengen vereinigen willst, ist UNION vielleicht das bessere Stichwort?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
renee
 2005-05-17 17:58
#33239 #33239
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ohne JOIN oder ähnliches wirst Du wohl nicht auskommen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Relais
 2005-05-17 18:01
#33240 #33240
User since
2003-08-06
2254 Artikel
ModeratorIn
[Homepage] [default_avatar]
Und wie sehen die 3 Selects genau aus?
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop 12. bis 14. Mai 2025 in München.

Winter is Coming
eisbeer
 2005-05-17 18:37
#33241 #33241
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Oder ein VIEW ...
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
Arkhen2
 2005-05-17 19:41
#33242 #33242
User since
2005-03-11
25 Artikel
BenutzerIn
[default_avatar]
Oder mit union

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
select
   'sql1' as quelle,
   auftragnr as wert
from
   auftrag
union
select
   'sql2' as quelle,
   kundenname || ',' || kundennummer as wert,
from
   kunde


Die Anzahl der Spalten muss übereinstimmen. Falls ich bei einem Select mehrere Spalten benöte, verbinde ich diese halt mit || zu einer Spalte.

Es geht auch

Code: (dl )
1
2
3
4
select
   (select ...)
   (select ...)
from dual


Hier muss aber die Anzahl der Ergebniszeilen übereinstimmen.

Oder
Code: (dl )
1
2
3
4
select *
from
   (select ...) meine_kunden,
   (select ...) meine_auftrage

Wenn die Select hier nichts gemeinsam haben, werden ALLE möglichen Kombinationen angezeigt.

Interessant wäre mal, wie die Selects aussehen.
Crian
 2005-05-18 13:46
#33243 #33243
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
[quote=Arkhen2,17.05.2005, 17:41]Oder mit union[/quote]
genau, meine Rede =)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Arkhen2
 2005-05-18 17:48
#33244 #33244
User since
2005-03-11
25 Artikel
BenutzerIn
[default_avatar]
[quote=Crian,18.05.2005, 11:46][quote=Arkhen2,17.05.2005, 17:41]Oder mit union[/quote]
genau, meine Rede =)[/quote]
Oh, Entschuldigung.

Hatte ich doch glatt überles.. aehm ich meine ich wollte diese Lösung unterstützen !

;)
dani
 2005-05-19 11:00
#33245 #33245
User since
2005-03-07
38 Artikel
BenutzerIn
[default_avatar]
[quote=Arkhen2,17.05.2005, 17:41]Oder mit union

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
select
   'sql1' as quelle,
   auftragnr as wert
from
   auftrag
union
select
   'sql2' as quelle,
   kundenname || ',' || kundennummer as wert,
from
   kunde


Die Anzahl der Spalten muss übereinstimmen. Falls ich bei einem Select mehrere Spalten benöte, verbinde ich diese halt mit || zu einer Spalte.

Es geht auch

Code: (dl )
1
2
3
4
select
   (select ...)
   (select ...)
from dual


Hier muss aber die Anzahl der Ergebniszeilen übereinstimmen.

Oder
Code: (dl )
1
2
3
4
select *
from
   (select ...) meine_kunden,
   (select ...) meine_auftrage

Wenn die Select hier nichts gemeinsam haben, werden ALLE möglichen Kombinationen angezeigt.

Interessant wäre mal, wie die Selects aussehen.[/quote]
Hallo miteinander!

ich habe mich nun für die:
select *
(select ...) out1,
(select ...) out2,
(select ...) out3

Variante entschieden und möchte mich hier für die vielen Lösungen bedanken!
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2005-05-17 16:26.