Christian Kruse: SQL-Problem

Beitrag lesen

Hoi,

also ich hab eine Möglichkeit gefunden über zwei Unterabfragen.

Pfui! ;-)

  1. Select Bildnr, Schlagwort from tab where Schlagwort like "Kirche";
  2. Select Bildnr, Schlagwort from tab where Schlagwort like "Kunst";
  1. Select Abfrage2.Bildnr, Abfrage2.Schlagwort from Abfrage1, Abfrage2 where Abfrage1.Biildnr = Abfrage2.Bildnr;

Das liefert mir alle Datensätze wo die Bildnummer doppelt ist.
Allerdings ist mir noch nicht klar wie ich das in ein Statement
packen kann.

Vielleicht so (ungetestet mangels RDBMS):

SELECT
  b.bildnr,b.schlagwort
FROM
  tab AS a
LEFT JOIN
  tab AS b
ON
  a.bildnr = b.bildnr
WHERE (
  schlagwort
 LIKE
  "Kirche"
OR
  schlagwort
 LIKE
  "Kunst")
AND
  NOT ISNULL(b.bildnr)

Wie gesagt, das ist ungetestet und duerfte wohl auch eine
quadratische Performance-Einbusse bedeuten (== bei vielen n-fachen
Eintraegen ganz wenig Performance).

Gruesse,
 CK