von seballa » Di, 21.01.2020 00:31
Hallo,
vielen Dank! Deiner erste Lösung klappt auch in MYSQL wunderbar. Ein Dropdownfeld ist in meinem Fall völlig ausreichend, ich frage eine begrenzte Auswahl an Kategorien (Weinsorten) und Lieferanten (Winzern) ab, ich baue meine bereits in BASE vorhandene Weinkellerdatenbank neu in schöner, sauberer und mit Zugriff von unterwegs.
Dein PLAN B geht leider mit MYSQL nicht, nach ein bisschen Googlen weiß ich auch warum. Die Reihenfolge bei MYSQL ist:
FROM clause
WHERE clause
GROUP BY clause
HAVING clause
SELECT clause
ORDER BY clause
Dadurch wirft die Abfrage einen Fehler, die Tabelle HF ist in der Where clause noch nicht bekannt.
Diese Abfrage wird zwar korrekt ausgeführt, aber ist wiederum nicht beschreibbar.
Code: Alles auswählen
SELECT
"ID",
"Nachname",
"Vorname",
"Strasse",
"PLZ",
"Ort",
"Haarfarbe",
( SELECT "Haarfarbe" FROM "Haarfarben" WHERE "Adressen"."Haarfarbe" = "Haarfarben"."ID" ) "HF"
FROM
"Adressen"
WHERE
(
LOWER ( ( SELECT "Haarfarbe" FROM "Haarfarben" WHERE "Adressen"."Haarfarbe" = "Haarfarben"."ID" ))
LIKE
LOWER (CONCAT( :qHaarfarbe, '%' )) OR :qHaarfarbe IS NULL
)
Mein Ziel ist es meine DB ohne Makros zu bauen mal sehen, ob ich es hin bekomme aber das war ein großer Schritt vorwärts.
Nochmal danke für die schnelle Hilfe und die tollen Videos, hilft mir sehr!
Seballa
Hallo,
vielen Dank! Deiner erste Lösung klappt auch in MYSQL wunderbar. Ein Dropdownfeld ist in meinem Fall völlig ausreichend, ich frage eine begrenzte Auswahl an Kategorien (Weinsorten) und Lieferanten (Winzern) ab, ich baue meine bereits in BASE vorhandene Weinkellerdatenbank neu in schöner, sauberer und mit Zugriff von unterwegs.
Dein PLAN B geht leider mit MYSQL nicht, nach ein bisschen Googlen weiß ich auch warum. Die Reihenfolge bei MYSQL ist:
FROM clause
WHERE clause
GROUP BY clause
HAVING clause
SELECT clause
ORDER BY clause
Dadurch wirft die Abfrage einen Fehler, die Tabelle HF ist in der Where clause noch nicht bekannt.
Diese Abfrage wird zwar korrekt ausgeführt, aber ist wiederum nicht beschreibbar.
[code]SELECT
"ID",
"Nachname",
"Vorname",
"Strasse",
"PLZ",
"Ort",
"Haarfarbe",
( SELECT "Haarfarbe" FROM "Haarfarben" WHERE "Adressen"."Haarfarbe" = "Haarfarben"."ID" ) "HF"
FROM
"Adressen"
WHERE
(
LOWER ( ( SELECT "Haarfarbe" FROM "Haarfarben" WHERE "Adressen"."Haarfarbe" = "Haarfarben"."ID" ))
LIKE
LOWER (CONCAT( :qHaarfarbe, '%' )) OR :qHaarfarbe IS NULL
)[/code]
Mein Ziel ist es meine DB ohne Makros zu bauen mal sehen, ob ich es hin bekomme aber das war ein großer Schritt vorwärts.
Nochmal danke für die schnelle Hilfe und die tollen Videos, hilft mir sehr!
Seballa