Hejsan! Här är ett litet exempel som gör det du önskar.Leta fram "enstaka" texter ur en kolumn? Säkert enkelt?
Har en tabell där en kolumn innehåller information om vilken typ av produkt det är. Fär närvarande finns det kanske ett 150-tal olika typer av produkter.
Det jag skulle vilja göra att gräva fram alla de olika typerna och infoga dessa i en ny "typ-tabell", där jag sedan ska utöka med en typbeskrivning, samt lite annan info
Hur löser man detta enklast?Sv: Leta fram "enstaka" texter ur en kolumn? Säkert enkelt?
Denna fråga skapar tabellen Types med kolumnen TypeName och fylller den med unika poster från fältet ProductType i tabelllen Products:
SELECT DISTINCT Products.ProductType AS TypeName INTO Types
FROM Products;
Denna fråga lägger till två kolumner till Types. En räknare och en ett fält för beskrivning till Types tabellen:
ALTER TABLE Types ADD COLUMN TypeId AUTOINCREMENT NOT NULL CONSTRAINT TypeId PRIMARY KEY , TypeDescription TEXT(255)
Frågan lägger till fältet ProductTypeId i tabellen Products och en relation till fältet TypeID i tabellen Types:
ALTER TABLE Products ADD COLUMN ProductTypeId INTEGER, CONSTRAINT ProductTypes FOREIGN KEY (ProductTypeId) REFERENCES Types (TypeID)
Frågan fyller ProductTypeId:
UPDATE Products INNER JOIN Types ON Products.ProductTypeName=Types.TypeName SET Products.ProductTypeId = Types.TypeId;
Denna sista fråga tar nu bort textfältet, vilket nu är onödigt:
ALTER TABLE Products DROP COLUMN ProductTypeName