|
Помогите написать запросик
|
|||
---|---|---|---|
#18+
Доброго дня. начал учить SQL, на руках книжка про "SQL вообще", из средств- только Access. в книжке есть вот такой пример: SELECT DISTINCT Recipes.RecipeTitle FROM Recipes INNER JOIN Recipe_Ingredients ON Recipes.RecipeID = Recipe_Ingredients.RecipeID WHERE Recipe_Ingredients.IngredientID IN (1, 9) т.е. он вытаскивает названия рецептов, в которых участвуют ингредиенты 1 или 9. с этим запросом все понятно, но мне пришла в голову мысли, - а как бы вытащить рецепты, в которых используются ингредиенты и 1, и 9 (учебная база мелкая - такой рецепт там только один). Исходя из книжки, мне кажется что это достаточно легко прописать через INTERSECT, но его вроде как нет в Access и в паре мест я прочитал советы в стиле "в Access вместо Intersect используется Inner Join). На это момент я и торможу, т.к. не могу придумать какой же еще inner join вложить в запрос. а любопытство мучает... Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 16:37 |
|
Помогите написать запросик
|
|||
---|---|---|---|
#18+
WHERE Recipe_Ingredients.IngredientID=1 and Recipe_Ingredients.IngredientID=9 WHERE Recipe_Ingredients.IngredientID=1 or Recipe_Ingredients.IngredientID=9 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 16:44 |
|
Помогите написать запросик
|
|||
---|---|---|---|
#18+
982183, вариант с OR это вроде тоже самое что уже написанный IN а вариант с AND просто нерабочий - он выдает пустой результат (потому что Ingredient.ID в отдельно взятой строке никак не может быть 1 and 9) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 17:03 |
|
Помогите написать запросик
|
|||
---|---|---|---|
#18+
Аaaaa..... точно Попробуй после Having count(Recipe_Ingredients.IngredientID)>1 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 17:17 |
|
Помогите написать запросик
|
|||
---|---|---|---|
#18+
hitlocker1 а как бы вытащить рецепты, в которых используются ингредиенты и 1, и 9 Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 18:39 |
|
Помогите написать запросик
|
|||
---|---|---|---|
#18+
Как вариант: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 19:11 |
|
Помогите написать запросик
|
|||
---|---|---|---|
#18+
__Michelle, спасибо. работает. попробую переварить и осознать))) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 21:17 |
|
Помогите написать запросик
|
|||
---|---|---|---|
#18+
Akina, access ругается - ошибка синтаксиса (пропущен оператор) в выражении запроса 'count ............. и т.д. = 2' ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 21:18 |
|
Помогите написать запросик
|
|||
---|---|---|---|
#18+
hitlocker1 , ну убери DISTINCT, делов-то... только убедись, что ингры в рецептах уникальны. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 21:52 |
|
Помогите написать запросик
|
|||
---|---|---|---|
#18+
Еще вариант: Код: sql 1. 2. 3. 4.
В таком запросе результат можно редактировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 11:10 |
|
Помогите написать запросик
|
|||
---|---|---|---|
#18+
hitlocker1, так-то и такое должно работать Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 12:26 |
|
|
start [/forum/topic.php?fid=45&fpage=24&tid=1610361]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 136ms |
0 / 0 |