Создание динамических запросов для SQLite3 - PullRequest
0 голосов
/ 24 января 2011

У меня есть 2 таблицы в БД.

В таблице 2 есть значения, которые понадобятся для таблицы 1

Пример

Таблица1 имеет следующие поля

Имя FoodColor FoodSmell FoodCookingStyle

Как все мы знаем, некоторые продукты можно готовить разными способами (при одинаковых результатах). Один из подходов заключается в создании новой строки для каждого варианта.

Таблица2 будет иметь данные для FoodCookingStyle, например FoodCookingStyle = 1 ИЛИ FoodCookingStyle = 2 ИЛИ FoodCookingStyle = 3

Таким образом, в результате я хочу создать запрос, который использует результаты из таблицы 2 для создания запроса SQL, который будет выглядеть как

SELECT * FROM TABLE1 WHERE FoodCookingStyle=1 OR FoodCookingStyle=2 OR FoodCookingStyle=3

(единственное отличие состоит в том, что я хочу запросить таблицу2 вместо того, чтобы печатать выражение).

Тип используемой БД - SQLite3.

Спасибо


Чтобы уточнить, что я имел в виду. Мне нужно, чтобы выход для table2 был входом для table1

1 Ответ

1 голос
/ 24 января 2011

Вопрос немного сбивает с толку.Это подзапросы, которые вы ищете?Синтаксис подзапроса следующий: SELECT * FROM Table1 WHERE FoodCookingStyle IN ( SELECT FoodCookingStyle FROM Table2 WHERE FoodCookingStyle=1 OR FoodCookingStyle=2 OR FoodCookingStyle=3 )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...