Hallo shureg,
Ich möchte alle Länder haben die der Region die ich vorher ausgewählt habe noch NICHT zugeordnet sind. Das möchte ich haben.
Ich mach mir jetzt mal die Mühe und kopiere mal die Livedaten hier rein um die es geht.
Tabelle regio:
|
SQL Code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
"ID";"Name";"Text";"Sync"
"1";"Dreiländereck D-F-CH";"test";"1"
"2";"Dreiländereck D-A-CH";"test";"1"
"3";"Dreiländereck D-A-CZ";"test";"1"
"4";"Dreiländereck D-CZ-PL";"test";"1"
"5";"Dreiländereck D-NL-BE";"test";"1"
"6";"Dreiländereck D-BE-F";"test";"1"
"7";"Röhn";"test";"1"
"8";"Rhein-Main-Gebiet";"test";"1"
"9";"Tirol";"test";"1"
Tabelle "laender" (ausschnitt nur Europa):
"id";"continent";"nameger"
"4";"Europa";"Aland"
"5";"Europa";"Albanien"
"10";"Europa";"Andorra"
"27";"Europa";"Belgien"
"33";"Europa";"Bosnien und Herzegowina"
"40";"Europa";"Bulgarien"
"51";"Europa";"Dänemark"
"52";"Europa";"Deutschland"
"61";"Europa";"Estland"
"64";"Europa";"Färöer"
"66";"Europa";"Finnland"
"67";"Europa";"Frankreich"
"73";"Europa";"Georgien"
"77";"Europa";"Griechenland"
"82";"Europa";"Guernsey, Vogtei"
"95";"Europa";"Irland, Republik"
"96";"Europa";"Island"
"98";"Europa";"Italien"
"102";"Europa";"Jersey"
"123";"Europa";"Kroatien"
"129";"Europa";"Lettland"
"133";"Europa";"Liechtenstein, Fürstentum"
"134";"Europa";"Litauen"
"135";"Europa";"Luxemburg"
"142";"Europa";"Malta"
"149";"Europa";"Mazedonien"
"152";"Europa";"Moldawien"
"153";"Europa";"Monaco"
"259";"Europa";"Montenegro"
"165";"Europa";"Niederlande"
"172";"Europa";"Norwegen"
"174";"Europa";"Österreich"
"184";"Europa";"Polen"
"185";"Europa";"Portugal"
"189";"Europa";"Rumänien"
"194";"Europa";"San Marino"
"197";"Europa";"Schweden"
"198";"Europa";"Schweiz"
"200";"Europa";"Serbien und Montenegro"
"205";"Europa";"Slowakei"
"206";"Europa";"Slowenien"
"208";"Europa";"Spanien"
"218";"Europa";"Svalbard und Jan Mayen"
"232";"Europa";"Tschechische Republik"
"240";"Europa";"Ukraine"
"258";"Europa";"Ungarn"
"245";"Europa";"Vatikanstadt"
"249";"Europa";"Vereinigtes Königreich von Großbritannien und Nordirland"
"253";"Europa";"Weißrussland"
Tabelle "regio-land":
"ID";"RegioID";"LandID";"Sync"
"1";"1";"52";"1"
"2";"1";"67";"1"
"3";"1";"198";"1"
"4";"2";"52";"1"
"5";"2";"174";"1"
"6";"2";"198";"1"
"7";"3";"52";"1"
"8";"3";"174";"1"
"9";"3";"232";"1"
"10";"4";"52";"1"
"11";"4";"232";"1"
"12";"4";"184";"1"
"13";"5";"52";"1"
"14";"5";"165";"1"
"15";"5";"27";"1"
"16";"6";"52";"1"
"17";"6";"27";"1"
"18";"6";"67";"1"
"19";"7";"52";"1"
"20";"9";"174";"1"
|
Wenn ich jetzt das erste beispiel von dir anwende kommt dieses raus:
|
SQL Code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
SELECT a.ID, a.nameger,a.continent
FROM `config-laender` AS a
JOIN `config-regio-land` AS b ON a.ID = b.LandID
JOIN `config-regio` AS r ON r.ID = b.regioID
WHERE r.name <> 'Dreiländereck D-A-CH'
ORDER BY a.continent ASC,a.nameger ASC;
"ID";"nameger";"continent"
"27";"Belgien";"Europa"
"27";"Belgien";"Europa"
"52";"Deutschland";"Europa"
"52";"Deutschland";"Europa"
"52";"Deutschland";"Europa"
"52";"Deutschland";"Europa"
"52";"Deutschland";"Europa"
"52";"Deutschland";"Europa"
"67";"Frankreich";"Europa"
"67";"Frankreich";"Europa"
"165";"Niederlande";"Europa"
"174";"Österreich";"Europa"
"174";"Österreich";"Europa"
"184";"Polen";"Europa"
"198";"Schweiz";"Europa"
"232";"Tschechische Republik";"Europa"
"232";"Tschechische Republik";"Europa"
|
dabei werden mir alle Länder angezeigt die in der Tabelle "regio-land" enthalten sind und die nicht der Region "Dreiländereck D-A-CH" zugeordnet sind.
Bei dem 2ten Lösungsansatz kommt folgendes raus (diese Select-Anweisung ist deiner Version etwas angepasst um nicht die gesamten Daten auszugeben, inhaltlich ist sie aber gleich):
|
SQL Code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
SELECT a.continent,a.nameger,a.id,b.id AS RegioLandID,b.RegioID,b.LandID
FROM `config-laender` a
LEFT JOIN `config-regio-land` b ON a.id = b.LandID
LEFT JOIN `config-regio` r ON r.ID = b.RegioID
WHERE r.name <> 'Dreiländereck D-A-CH' OR b.ID IS NULL AND a.continent = 'Europa'
ORDER BY a.continent ASC,a.nameger ASC;
"continent";"nameger";"id";"RegioLandID";"RegioID";"LandID"
"Europa";"Aland";"4";NULL;NULL;NULL
"Europa";"Albanien";"5";NULL;NULL;NULL
"Europa";"Andorra";"10";NULL;NULL;NULL
"Europa";"Belgien";"27";"15";"5";"27"
"Europa";"Belgien";"27";"17";"6";"27"
"Europa";"Bosnien und Herzegowina";"33";NULL;NULL;NULL
"Europa";"Bulgarien";"40";NULL;NULL;NULL
"Europa";"Dänemark";"51";NULL;NULL;NULL
"Europa";"Deutschland";"52";"1";"1";"52"
"Europa";"Deutschland";"52";"7";"3";"52"
"Europa";"Deutschland";"52";"10";"4";"52"
"Europa";"Deutschland";"52";"13";"5";"52"
"Europa";"Deutschland";"52";"16";"6";"52"
"Europa";"Deutschland";"52";"19";"7";"52"
"Europa";"Estland";"61";NULL;NULL;NULL
"Europa";"Färöer";"64";NULL;NULL;NULL
"Europa";"Finnland";"66";NULL;NULL;NULL
"Europa";"Frankreich";"67";"2";"1";"67"
"Europa";"Frankreich";"67";"18";"6";"67"
"Europa";"Georgien";"73";NULL;NULL;NULL
"Europa";"Griechenland";"77";NULL;NULL;NULL
"Europa";"Guernsey, Vogtei";"82";NULL;NULL;NULL
"Europa";"Irland, Republik";"95";NULL;NULL;NULL
"Europa";"Island";"96";NULL;NULL;NULL
"Europa";"Italien";"98";NULL;NULL;NULL
"Europa";"Jersey";"102";NULL;NULL;NULL
"Europa";"Kroatien";"123";NULL;NULL;NULL
"Europa";"Lettland";"129";NULL;NULL;NULL
"Europa";"Liechtenstein, Fürstentum";"133";NULL;NULL;NULL
"Europa";"Litauen";"134";NULL;NULL;NULL
"Europa";"Luxemburg";"135";NULL;NULL;NULL
"Europa";"Malta";"142";NULL;NULL;NULL
"Europa";"Mazedonien";"149";NULL;NULL;NULL
"Europa";"Moldawien";"152";NULL;NULL;NULL
"Europa";"Monaco";"153";NULL;NULL;NULL
"Europa";"Montenegro";"259";NULL;NULL;NULL
"Europa";"Niederlande";"165";"14";"5";"165"
"Europa";"Norwegen";"172";NULL;NULL;NULL
"Europa";"Österreich";"174";"8";"3";"174"
"Europa";"Österreich";"174";"20";"9";"174"
"Europa";"Polen";"184";"12";"4";"184"
"Europa";"Portugal";"185";NULL;NULL;NULL
"Europa";"Rumänien";"189";NULL;NULL;NULL
"Europa";"San Marino";"194";NULL;NULL;NULL
"Europa";"Schweden";"197";NULL;NULL;NULL
"Europa";"Schweiz";"198";"3";"1";"198"
"Europa";"Serbien und Montenegro";"200";NULL;NULL;NULL
"Europa";"Slowakei";"205";NULL;NULL;NULL
"Europa";"Slowenien";"206";NULL;NULL;NULL
"Europa";"Spanien";"208";NULL;NULL;NULL
"Europa";"Svalbard und Jan Mayen";"218";NULL;NULL;NULL
"Europa";"Tschechische Republik";"232";"9";"3";"232"
"Europa";"Tschechische Republik";"232";"11";"4";"232"
"Europa";"Ukraine";"240";NULL;NULL;NULL
"Europa";"Ungarn";"258";NULL;NULL;NULL
"Europa";"Vatikanstadt";"245";NULL;NULL;NULL
"Europa";"Vereinigtes Königreich von Großbritannien und Nordirland";"249";NULL;NULL;NULL
"Europa";"Weißrussland";"253";NULL;NULL;NULL
|
Nach den Daten die ich jetzt hier gepostet habe möchte ich folgendes Ergebnis haben für die Region "Dreiländereck D-A-CH" :
"id";"continent";"nameger"
"4";"Europa";"Aland"
"5";"Europa";"Albanien"
"10";"Europa";"Andorra"
"27";"Europa";"Belgien"
"33";"Europa";"Bosnien und Herzegowina"
"40";"Europa";"Bulgarien"
"51";"Europa";"Dänemark"
"52";"Europa";"Deutschland" <-- IST NICHT IM ERGEBNIS VORHANDEN!!!!
"61";"Europa";"Estland"
"64";"Europa";"Färöer"
"66";"Europa";"Finnland"
"67";"Europa";"Frankreich"
"73";"Europa";"Georgien"
"77";"Europa";"Griechenland"
"82";"Europa";"Guernsey, Vogtei"
"95";"Europa";"Irland, Republik"
"96";"Europa";"Island"
"98";"Europa";"Italien"
"102";"Europa";"Jersey"
"123";"Europa";"Kroatien"
"129";"Europa";"Lettland"
"133";"Europa";"Liechtenstein, Fürstentum"
"134";"Europa";"Litauen"
"135";"Europa";"Luxemburg"
"142";"Europa";"Malta"
"149";"Europa";"Mazedonien"
"152";"Europa";"Moldawien"
"153";"Europa";"Monaco"
"259";"Europa";"Montenegro"
"165";"Europa";"Niederlande"
"172";"Europa";"Norwegen"
"174";"Europa";"Österreich" <-- IST NICHT IM ERGEBNIS VORHANDEN!!!
"184";"Europa";"Polen"
"185";"Europa";"Portugal"
"189";"Europa";"Rumänien"
"194";"Europa";"San Marino"
"197";"Europa";"Schweden"
"198";"Europa";"Schweiz" <-- IST NICHT IM ERGEBNIS VORHANDEN!!!
"200";"Europa";"Serbien und Montenegro"
"205";"Europa";"Slowakei"
"206";"Europa";"Slowenien"
"208";"Europa";"Spanien"
"218";"Europa";"Svalbard und Jan Mayen"
"232";"Europa";"Tschechische Republik"
"240";"Europa";"Ukraine"
"258";"Europa";"Ungarn"
"245";"Europa";"Vatikanstadt"
"249";"Europa";"Vereinigtes Königreich von Großbritannien und Nordirland"
"253";"Europa";"Weißrussland"
Die roten Daten sollen im Ergebnis nicht erscheinen da diese ja sowieso schon der Region "Dreiländereck D-A-CH" zugewiesen sind. Wenn ich jetzt eine andere Region nehme sollen die Länder ausgeblendet werden die der Region in der Tabelle regio-land schon zugewiesen sind.
Ich hoffe jetzt ist es verständlich ;-)