Unterabfragen zusammenfassen???

Lars Grundei <[email protected]> Tue, 1 Apr 2014 12:14:09 +0200
Newsgroups gmane.comp.db.postgresql.german
Message-ID <0EAF4A34C2A33B4FB958F0A6150072AC51312A6144@mcsrv03.meteocontrol.intra>
Hallo Zusammen,

 

Ich habe diese Abfrage, die auch soweit Funktioniert:

 

SELECT CASE WHEN val = 0 THEN FALSE ELSE TRUE END AS result

 FROM tbl_d WHERE tbl_a_id = (SELECT id FROM tbl_a WHERE

    tbl_b_id = (SELECT tbl_b_id FROM view_a WHERE id_x = 564 AND ident_y =
'foo' AND ident_z = 'bar') AND

    tbl_c_id = (SELECT tbl_c_id FROM view_a WHERE id_x = 564 AND ident_y =
'foo' AND ident_z = 'bar')

  )

ORDER BY ts DESC LIMIT 1

 

Was mich stört ist der Umstand, dass eine Unterabfrage bzw. Subquery zweimal
ausgeführt wird (wenn EXPLAIN nicht lügt), einmal wird halt tbl_b_id und
einmal tbl_c_id geliefert, gibt es irgendwie eine Möglichkeit, dass ich die
Zusammenfasse?

 

Vielen Dank

Lars
smime.p7s (application/x-pkcs7-signature, 6.1 KB) - not displayed