In Oracle SQL Developer, ich bin mit einem WITH-Klausel, in dieser (vereinfachte) Art und Weise:SQL: WITH-Klausel mit Parametern?
WITH
foos AS
SELECT *
FROM my_table
WHERE field = 'foo'
bars AS
SELECT *
FROM my_table
WHERE field = 'bar'
SELECT *
FROM foo
INNER JOIN bar
ON foo.id = bar.id
Ich mag wäre in der Lage sein, die 'foo' Faktor und 'bar' Strings, so dass ich etwas ähnliches:
WITH
subq(my_arg) AS
SELECT *
FROM my_table
WHERE field = my_arg
SELECT *
FROM subq('foo')
INNER JOIN subq('bar')
ON subq('foo').id = subq('foo').id
Denn foos
und bars
tatsächlich viel größer als diese sind, und es gibt Mutter nur zwei von ihnen, so ist es ein bisschen schwer bekommen zu halten.
Ich weiß, dass dies möglicherweise nicht mit einer WITH-Klausel möglich ist, aber was wäre die beste Lösung, um zu vermeiden, diese Unterabfrage mehrmals zu schreiben? Das kann eigentlich ganz einfach sein, aber ich bin ziemlich neu in SQL ...
Vielen Dank für Ihre Hilfe.