fredrik_kratzMedlem sedan apr. 20081 inlägg
Vill dels läsa in data till en tabell från en annan men även läsa in värden (som man vanligtvis görs via VALUES).
Följande fungerar då jag enbart läser in ID från tabellen MoteBasdata till kolumnen MotesID i tabellen OvningsDataMM:
INSERT INTO OvningsDataMM ( MotesID )
SELECT MoteBasdata.ID
FROM MoteBasdata
WHERE MoteBasdata.Malgrupp='pepsi';
Men om jag sedan vill lägga in mer i OvningsDataMM (som tex Person) så blir det fel. Jag tyckte att det borde vara i form av:
INSERT INTO OvningsDataMM ( MotesID, Person )
(SELECT MoteBasdata.ID
FROM MoteBasdata
WHERE MoteBasdata.Malgrupp='pepsi'),'Erik';
Men så funkar det tydligen inte!
Hur ska jag göra för att få till denna SQL-str ...
KoplikMedlem sedan juli 2001826 inlägg
INSERT INTO OvningsDataMM ( MotesID, Person )
(SELECT MoteBasdata.ID, 'Erik'
FROM MoteBasdata
WHERE MoteBasdata.Malgrupp='pepsi')
bör fungera. Dock kommer alla heta erik då.
metalboyMedlem sedan jan. 2005870 inlägg
Testa med
INSERT INTO OvningsDataMM ( MotesID, Person ) VALUES ((SELECT MoteBasdata.ID FROM MoteBasdata WHERE MoteBasdata.Malgrupp='pepsi'), 'Erik')
KoplikMedlem sedan juli 2001826 inlägg
metalboy skrev:
Testa med
INSERT INTO OvningsDataMM ( MotesID, Person ) VALUES ((SELECT MoteBasdata.ID FROM MoteBasdata WHERE MoteBasdata.Malgrupp='pepsi'), 'Erik')
Resulterar inte det i en sats som ser ut ungefär såhär i klartext:
INSERT INTO OvningsDataMM ( MotesID, Person ) VALUES (1,2,3,7,6,5,8, 'Erik')
Eller tänker jag fel?
LarsGMedlem sedan dec. 200012 465 inlägg
Nja, om man har en subselect i values på det sättet så skall det bli fel om selecten retrurnerar mer än en post.