Wenn die Namen in für Fachgebiete in beiden Tabellen immer gleich sein sollen, dann die Spalte löschen. Wenn nicht dann nicht
Ankündigung
Einklappen
Keine Ankündigung bisher.
[Erledigt] Jointabelle gibt mir nicht aus was ich möchte
Einklappen
Neue Werbung 2019
Einklappen
X
-
Zitat von akretschmer Beitrag anzeigenversuch mal bitte, via create table & insert nachvollziehbare beispiele zu liefern und auch das, was rauskommen soll.
CREATE TABLE `hmfachgebiet` (
`id` int( 11 ) NOT NULL AUTO_INCREMENT ,
`hmfachgebiet` varchar( 30 ) NOT NULL ,
`fachgebiet_id` int( 11 ) NOT NULL ,
`username` varchar( 20 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
@Spamversender
ich habe mal gelöscht, nützt aber nichts
Kommentar
-
Zitat von Michael17 Beitrag anzeigenmeinst du so was ?
CREATE TABLE `hmfachgebiet` (
`id` int( 11 ) NOT NULL AUTO_INCREMENT ,
`hmfachgebiet` varchar( 30 ) NOT NULL ,
`fachgebiet_id` int( 11 ) NOT NULL ,
`username` varchar( 20 ) NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
Code:`hmfachgebiet` varchar( 30 ) NOT NULL , `fachgebiet_id` int( 11 ) NOT NULL ,
@Spamversender
ich habe mal gelöscht, nützt aber nichtsPostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Kommentar
-
Zitat von akretschmer Beitrag anzeigenJa, Du bist auf dem richtigen Weg. Wozu dienen die felder
Code:`hmfachgebiet` varchar( 30 ) NOT NULL , `fachgebiet_id` int( 11 ) NOT NULL ,
*seufz*
und hmfachgebiet habe ich in reintext nur den Namen des Fachgebietes gespeichert und
fachgebiet_id braucht man ja um zwei Tabellen miteinander zu verbinden
Kommentar
-
Foreign Key heißt Fremdschlüssel. Der ist ähnlich wie ein Primary Key zu definieren, aber ich benutze diese Möglichkeit nie weil sie mMn nichts bringt. Das heißt nur, dass in deinem Fall die Spalte fachgebiet_id der Tab. hmfachgebiet mit der Spalte id der Tab. fachgebiet Verknüpft ist. Wenn also in hmfachgebiet als fachgebiet_id 3 steht, dann schaust du bei fachgebiet dort wo die ID 3 ist und hast den Namen des Fachgebiets
B2T: Stell dir mal vor, du hast immer das Fachgebiet Elektronik verwendet, und jetzt möchtest du dass es Elektrizität heißt. Also müsstest du in 2 Tabellen ads ändern. Stell dir vor, du brauchst die Fachgebiete in mehr als 2 Tabellen. Das könnte da schon schwer werden alles zu verändern. Deswegen die Fachgebiete-Tabelle. Dort wird einem Fachgebiet eine ID zugeordnet, und überall wo fachgebiete benötigt werden wird die ID statt der Name verwendet. Einmal den Namen in der Fachgebiete-Tabelle geändert, überall geändert
Kommentar
-
Zitat von Spamversender Beitrag anzeigenForeign Key heißt Fremdschlüssel. Der ist ähnlich wie ein Primary Key zu definieren,
aber ich benutze diese Möglichkeit nie weil sie mMn nichts bringt.PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Kommentar
-
Zitat von Michael17 Beitrag anzeigenForeign Key sagt mir gerade nichtsPostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Kommentar
-
Zitat von Spamversender Beitrag anzeigenForeign Key heißt Fremdschlüssel. Der ist ähnlich wie ein Primary Key zu definieren, aber ich benutze diese Möglichkeit nie weil sie mMn nichts bringt. Das heißt nur, dass in deinem Fall die Spalte fachgebiet_id der Tab. hmfachgebiet mit der Spalte id der Tab. fachgebiet Verknüpft ist. Wenn also in hmfachgebiet als fachgebiet_id 3 steht, dann schaust du bei fachgebiet dort wo die ID 3 ist und hast den Namen des Fachgebiets
B2T: Stell dir mal vor, du hast immer das Fachgebiet Elektronik verwendet, und jetzt möchtest du dass es Elektrizität heißt. Also müsstest du in 2 Tabellen ads ändern. Stell dir vor, du brauchst die Fachgebiete in mehr als 2 Tabellen. Das könnte da schon schwer werden alles zu verändern. Deswegen die Fachgebiete-Tabelle. Dort wird einem Fachgebiet eine ID zugeordnet, und überall wo fachgebiete benötigt werden wird die ID statt der Name verwendet. Einmal den Namen in der Fachgebiete-Tabelle geändert, überall geändert
die fachgebiet_id lasse ich für die Übereinstimmung drinne
Kommentar
-
Zitat von erc Beitrag anzeigenDer erste Schritt ist das Problem präzise zu formulieren. Das was du da schreibst ist das:
PHP-Code:SELECT * FROM hmfachgebiet WHERE username != '$name'
PHP-Code:SELECT
*
FROM
fachgebietenliste a LEFT JOIN
hmfachgebiete b ON (a.fachgebiet_id = b.fachgebiet_id AND b.username = '$name')
WHERE
b.fachgebiet_id IS NULL
so geht es letztentlich mit dem auslesen
Code:SELECT *, a.fachgebiet_id FROM fachgebietenliste a LEFT JOIN hmfachgebiet b ON (a.fachgebiet_id = b.fachgebiet_id AND b.username = '$name') WHERE b.fachgebiet_id IS NULL
Allen recht herzlichen Dank für die Hilfe und Unterstützung
Jetzt hat sich ein neues problem aber dazu mache ich lieber ein neues Thread auf
Kommentar
Kommentar