How do I do an insert multiple values or records that have to get their information from select statements. This doesn’t work.
INSERT INTO marriedcouples (male,female) VALUES (
(SELECT id FROM men WHERE username='brad',
SELECT id FROM women WHERE username='jennifer')
(SELECT id FROM men WHERE username='ken',
SELECT id FROM women WHERE username='barbie'))
Assuming I have tables with:
men(id,name), women(id,name), couples(id,male,female)
etc.
Thanks,
Dan
Addition
In comments, you asked specifically about the problems with your original query. First, you could have used your original approach like so:
Notice that each value is enclosed in parentheses as its own encapsulated subquery. Second, notice that I used the
Union Alldirective to allow me to stack the two queries and give me two rows. Third, notice that I’m not trying to use the Values directive in combination with subqueries. You can use the Values clause to list out values or you can use a Select statement but not both in the way you did. Obviously, this approach of four subqueries will not perform well but it helps to understand the breakdown of the syntax.