Hi
hier ein Kurzschema
zahlen plzgkz landkreise
----+-------- ----+---- ----+------
plz | zahlen plz | gkz gkz | name
zahlen: plz = 5 Stellig
plzgkz: plz = 5 stellig, gkz 8 stellig
landkreise: gkz = 5 stellig (erste 5 Stellen der gkz)
um die Zahlen für jede plz aufzulisten müßte der SQl Befehl ungefähr so aussehen
SELECT
z.plz
SUM(COALESCE(z.zahlen, 0)) AS zahlen,
FROM zahlen z
INNER JOIN plzgkz p ON z.plz = p.plz AND substr(p.gkz, 1, 5) = '09776'
GROUP BY
z.plz
ORDER BY
z.plz
in der Tabelle zahlen gibt es nur einen Eintrag mit der plz 17039 und den Wert 100000, in der Tabelle plzgkz gibt es zu der plz 17039 13 unterschiedliche gkz.
plz | zahlen | gkz | gkz (erste 5 Stellen)
-------+--------+----------+-------
17039 | 100000 | 13055079 | 13055
17039 | 100000 | 13055002 | 13055
17039 | 100000 | 13055049 | 13055
17039 | 100000 | 13055081 | 13055
17039 | 100000 | 13055051 | 13055
17039 | 100000 | 13055003 | 13055
17039 | 100000 | 13055065 | 13055
17039 | 100000 | 13055066 | 13055
17039 | 100000 | 13055008 | 13055
17039 | 100000 | 13055069 | 13055
17039 | 100000 | 13055072 | 13055
17039 | 100000 | 13055046 | 13055
17039 | 100000 | 13055076 | 13055
für die plz will ich jetzt die Zahl 100000 haben, ich erhalte jedoch 1300000
Ich muss also irgendwie verhindern, dass er jede gkz Spalte verwendet, wo die 5 ersten Zeichen 13055 sind
Kristin