I am struggling to get the following SQL query to work:
sql_query = f'''
INSERT INTO table3(animal_id, fruit_id)
SELECT table1.id, table2.id
FROM table1
CROSS JOIN table2
WHERE table2.id = "{some_value}";
'''
Basically I want to append to table3 the cross join of some columns from table 1 and table 2, but to limit the joined values from table 2 to those rows where table2.id equals some spefic value. Does anyone know what I'm doing wrong here?
EDIT: so say you had the following three tables:
1
ID ANIMAL
1 Cat
2 Dog
2
ID FRUIT
1 apple
2 orange
3 banana
3
ID ANIMAL FRUIT
1 Bird mango
2 Bird grape
How can I make it that I cross join the animal and fruit columns of tables 1 and 2 and append the result to table 3 but only for those rows of table 1 which equal the value specified in the curly brackets, e.g. here 'Dog'
3
ID ANIMAL FRUIT
1 Bird mango
2 Bird grape
3 Dog apple
4 Dog orange
5 Dog banana