72 похожих чатов

Здравствуйте Хотел спросить как сделать выборку данных с таблицы со связкой

многие ко многим.
У меня есть таблица category, word, category_word. Мне нужно взять word у которых определенный category.id. Для этого я написал вот такой запрос:

SELECT category.id AS cid, word.wd FROM word
JOIN category_word ON (word.id = category_word.word_id)
JOIN category ON (12538 = category_word.category_id)


12538 это category.id по которому нужно делать выборку, запрос должен вернуть 100 элементов, но он возвращает свыше 900 элементов.

Как правильно такой запрос написать?

4 ответов

13 просмотров
SE- Автор вопроса

SELECT category.id AS cid, word.wd FROM word JOIN category_word ON (word.id = category_word.word_id) JOIN category ON (category.id = category_word.category_id) WHERE category.id = 12538 SELECT category.id AS cid, word.wd FROM word JOIN category_word ON (word.id = category_word.word_id) JOIN category ON (category.id = category_word.category_id AND category.id = 12538) Попробовал вот такие запросы сделать возвращает, то что нужно. Какой подход более правильный и оптимальный?

SE
SELECT category.id AS cid, word.wd FROM word JOIN ...

Первый скорее более идиоматичен. Но технически разницы между ними нет (сейчас все движки SQL преобразуют это к одному плану запроса).

Ну неверно

Похожие вопросы

Обсуждают сегодня

Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Добрый день! Кто-нибудь знает как подключить твиг в контроллеры плагина?
Николай Афанасенко
5
А че SwiftUI for Web ещё нет?
Shagit Ziganshin
7
привет, а расскажите как бэкапите свой vault raft cluster CE? я немного почитал и понял, что нужно как-то выполнять vault operator raft snapshot save backup.snapshot подсовыва...
[DBST] Dmitry Knyazev
5
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
дикшинари ж вообще не сортабельны. Как оно будет выдавать ту же сортировку?
Куся 🌿⃤ __UKS
3
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Карта сайта