sqlite3 выбрать из нескольких таблиц "где" вещи - PullRequest
9 голосов
/ 20 сентября 2011

Я пытаюсь запросить несколько таблиц одновременно.Скажем, у меня есть таблица с именем PRESCHOOLERS, а у меня есть еще одна с именем FAVORITE_GOOEY_TREATS, в которой столбец внешнего ключа в таблице PRESCHOOLERS ссылается на поле id в FAVORITE GOOEY TREAT.Что бы я сделал, если бы хотел получить список дошкольников с их именами вместе с их любимыми угощениями.Я имею в виду что-то вроде:

first_name    |    treat
john          |  fudge
sally         |  ice-cream

Вот что я пытаюсь, но у меня есть синтаксическая ошибка в части where.

SELECT PRESCHOOLERS.first_name, FAVORITE_GOOEY_TREATS.name as treat
FROM PRESCHOOLERS, FAVORITE_GOOEY_TREATS
WHERE PRESCHOOLERS.favorite_treat = FAVORITE_GOOEY_TREATS.id and PRESCHOOLERS.age>15;

Насколько я знаю, с такими стандартами все в порядке, но sqlite3 не очень нравится.Может кто-нибудь указать мне на примеры подобных запросов, которые работают?

1 Ответ

12 голосов
/ 20 сентября 2011

Попробуйте

SELECT PRESCHOOLERS.first_name, FAVORITE_GOOEY_TREATS.name as treat
FROM PRESCHOOLERS
JOIN FAVORITE_GOOEY_TREATS ON PRESCHOOLERS.favorite_treat = FAVORITE_GOOEY_TREATS.id
WHERE PRESCHOOLERS.age > 15;
...