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 20011 129 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. 2005953 inlägg Testa med
INSERT INTO OvningsDataMM ( MotesID, Person ) VALUES ((SELECT MoteBasdata.ID FROM MoteBasdata WHERE MoteBasdata.Malgrupp='pepsi'), 'Erik')
KoplikMedlem sedan juli 20011 129 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 464 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.