Servus
Ich hab mal wieder ein kleines Problem und null Ahnung warum es auftritt und wie es zu beheben ist:
Ich habe mehrere kleine Tabellen, welche ich zu einer großen zusammenfasse:
Nun ist es so, dass bei dem Feld DESCRIBED_SPECIES bei manchen Einträgen der hintere Teil fehlt. Wenn man dann aber an die Abfrage noch ein
dranhängt, dann ist die Zelle komplett vorhanden.
Vllt hat jmd von euch eine Idee wo hier der Fehler liegt.
MrSpider
EDIT: Ohne CREATE TABLE davor (also nur das große SELECT) gehts auch nicht. Die Abfrage ergibt ca. 4100 Ergebnisse
Ich hab mal wieder ein kleines Problem und null Ahnung warum es auftritt und wie es zu beheben ist:
Ich habe mehrere kleine Tabellen, welche ich zu einer großen zusammenfasse:
Code:
CREATE TABLE literatureComplete (
DESCRIBED_SPECIES TEXT,
DESCRIBED_GENUS TEXT,
DESRIBED_FAMILIES TEXT,
PRIMARY KEY(ID)
) CHARACTER SET utf8 COLLATE utf8_general_ci SELECT literature.*,
GROUP_CONCAT(DISTINCT AUTOR ORDER BY POSITION SEPARATOR ' & ') AS AUTORS,
GROUP_CONCAT(DISTINCT CONCAT_WS(' ', species.SPECIES_GENUS, species.SPECIES_SPECIES) SEPARATOR ', ') AS DESCRIBED_SPECIES, // <-- Hier fehlt manchmal was
GROUP_CONCAT(DISTINCT IFNULL(genusLit.GENUS, '') SEPARATOR ', ') AS DESCRIBED_GENUS,
GROUP_CONCAT(DISTINCT CONCAT_WS(' ', species_ref.SPECIES_GENUS, species_ref.SPECIES_SPECIES) SEPARATOR ', ') AS NOV_SPECIES,
GROUP_CONCAT(DISTINCT IFNULL(genus_gref.GENUS, '') SEPARATOR ', ') AS NOV_GENUS,
GROUP_CONCAT(DISTINCT IFNULL(genus_fref.FAMILY, '') SEPARATOR ', ') AS NOV_FAMILY
FROM literature JOIN autorLit
ON autorLit.LITERATURE_ID = literature.ID
LEFT JOIN (speciesLit JOIN species ON speciesLit.SPECIES_ID = species.ID)
ON speciesLit.LITERATURE_ID = literature.ID
LEFT JOIN genusLit
ON genusLit.LITERATURE_ID = literature.ID
LEFT JOIN species AS species_ref
ON species_ref.ORIGINAL_DESCRIPTION_SPECIES_REF = literature.ID
LEFT JOIN genus AS genus_gref
ON genus_gref.ORIGINAL_DESCRIPTION_GENUS_REF = literature.ID
LEFT JOIN genus AS genus_fref
ON genus_fref.ORIGINAL_DESCRIPTION_FAMILY_REF = literature.ID
GROUP BY literature.ID
ORDER BY AUTORS, YEAR;
Nun ist es so, dass bei dem Feld DESCRIBED_SPECIES bei manchen Einträgen der hintere Teil fehlt. Wenn man dann aber an die Abfrage noch ein
Code:
WHERE ID = <ID des fehlerhaften Eintrags>
Vllt hat jmd von euch eine Idee wo hier der Fehler liegt.
MrSpider
EDIT: Ohne CREATE TABLE davor (also nur das große SELECT) gehts auch nicht. Die Abfrage ergibt ca. 4100 Ergebnisse