Jag har skriver inte detta för att slå ihop tabeller
SELECT *
FROM kurs AS k, kurstillfalle AS kt
WHERE k.kod = kt.kurskod;
Men tabellen kommer tillbaka tom varje gång. så jag började fundera varför. för när jag skriver in
SELECT * FROM kurs, kurstillfalle;
så kommer tabellen tillbaka rätt. Men när jag skriver in
SELECT *
FROM kurs AS k
JOIN kurstillfalle AS kt
ON k.kod = kt.kurskod;
så får jag tillbaka att kurskod är akronymerna från alla larare och kurs ansvarig blir siffrer.
Jag vet att felet ligger här:
USE skolan;
DROP TABLE IF EXISTS kurstillfalle;
CREATE TABLE kurstillfalle
(
id INT AUTO_INCREMENT,
kurskod VARCHAR(6) NOT NULL REFERENCES kurs(kod),
kursansvarig CHAR(3) NOT NULL REFERENCES larare(akronym),
lasperiod INT NOT NULL,
PRIMARY KEY (id)
);
För när jag skriver:
SELECT kurskod FROM kurstillfalle;
men då får jag bara akronymerna till lärarna.
här kommer de två andra tabellerna denna länkar till
USE skolan;
DROP TABLE IF EXISTS kurs;
CREATE TABLE kurs
(
kod CHAR(6),
namn VARCHAR(40),
poang FLOAT,
niva CHAR(3),
PRIMARY KEY (kod)
);
och
USE skolan;
DROP TABLE IF EXISTS larare;
CREATE TABLE larare
(
akronym CHAR(3),
avdelning CHAR(4),
fornamn VARCHAR(20),
efternamn VARCHAR(20),
kon CHAR(1),
lon INT,
fodd DATE,
PRIMARY KEY (akronym)
);
och här blir allting rätt.
SELECT *
FROM kurs AS k, kurstillfalle AS kt
WHERE k.kod = kt.kurskod;
Men tabellen kommer tillbaka tom varje gång. så jag började fundera varför. för när jag skriver in
SELECT * FROM kurs, kurstillfalle;
så kommer tabellen tillbaka rätt. Men när jag skriver in
SELECT *
FROM kurs AS k
JOIN kurstillfalle AS kt
ON k.kod = kt.kurskod;
så får jag tillbaka att kurskod är akronymerna från alla larare och kurs ansvarig blir siffrer.
Jag vet att felet ligger här:
USE skolan;
DROP TABLE IF EXISTS kurstillfalle;
CREATE TABLE kurstillfalle
(
id INT AUTO_INCREMENT,
kurskod VARCHAR(6) NOT NULL REFERENCES kurs(kod),
kursansvarig CHAR(3) NOT NULL REFERENCES larare(akronym),
lasperiod INT NOT NULL,
PRIMARY KEY (id)
);
För när jag skriver:
SELECT kurskod FROM kurstillfalle;
men då får jag bara akronymerna till lärarna.
här kommer de två andra tabellerna denna länkar till
USE skolan;
DROP TABLE IF EXISTS kurs;
CREATE TABLE kurs
(
kod CHAR(6),
namn VARCHAR(40),
poang FLOAT,
niva CHAR(3),
PRIMARY KEY (kod)
);
och
USE skolan;
DROP TABLE IF EXISTS larare;
CREATE TABLE larare
(
akronym CHAR(3),
avdelning CHAR(4),
fornamn VARCHAR(20),
efternamn VARCHAR(20),
kon CHAR(1),
lon INT,
fodd DATE,
PRIMARY KEY (akronym)
);
och här blir allting rätt.