webForumDet fria alternativet

Hämta data från en tabell och skjuta in det i en annan

Databaser & SQL

4 svar · 572 visningar · startad av Rulle

Medlem sedan juni 2000166 inlägg
Frågan#1

Nu var det mera frågor.... :P

Vill köra en select på en tabell HEJ med säg kolumn A och B
Alla svaren som fås ur kolumn B (inte hela kulomnen utan det jag valt i select-satsen) vill jag sen lägga in i en annan befintlig tabell KUL under kolumn A.

Medlem sedan nov. 20014 054 inlägg
#2
insert into tableA (COLa) select COLb from tableB WHERE (COLc = 'VALUE')

Inte hundra.. men något sådant har jag för mig.

Medlem sedan juni 2000166 inlägg
#3

Nu har det blivit tre kolumner eller läser jag ditt svar fel?

Medlem sedan aug. 20039 340 inlägg
#4

COLc är ju i Freddes exempel bara ett exempel på ett villkor. Du skulle också kunna göra typ:

INSERT INTO destination_table (name, age)
SELECT CONCAT(firstname, ' ', surname), age+1
FROM source_table
WHERE gender = 'f';

I exemplet ovan har du en källtabell som lagrar förnamn, efternamn, ålder, och kön. Måltabellen lagrar namn och ålder. Exemplet ovan plockar ut alla tjejer och returnerar:

  1. För- och efternamn ihopslaget till med ett mellanslag mellan
  2. Åldern plus ett.
    Denna select-sats fungerar helt fristående av INSERTen som står innan.
    Vad INSERTENen gör, dock, är att ta det första värdet från SELECTen och stoppa in det i name, och det andra värdet och stoppa in det i age, i destination_table. Detta upprepas för alla rader i resultatet från SELECTen.
    Hoppas det förtydligade hur du kan använda INSERT ... SELECT. :)
Medlem sedan juni 2000166 inlägg
#5

Löste det efter jag skrivit svaret, tack för hjälpen.

285 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
160 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)