SQLite запрашивает, чтобы найти данные согласно моей диаграмме ER - PullRequest
0 голосов
/ 17 декабря 2018

Структура базы данных Диаграммы E / R

Привет, ребята, я создал эту структуру базы данных для своего задания.С ограничениями, которые вы можете видеть на рисунке ниже.

Ограничения

Мне нужно найти sql запросы для этих двух вопросов.Но я новичок в SQL и не очень хорошо на сложные запросы.Может кто-нибудь мне помочь?

Вопросы:

  1. Сколько комментариев получает конкретный субредит в день?
  2. Пользователи, которые комментировали определенную ссылку, также публиковали в какие субредиты?

1 Ответ

0 голосов
/ 17 декабря 2018

В нынешнем виде вы не сможете использовать таблицы согласно изображениям, так как указанные столбцы не обязательно должны быть УНИКАЛЬНЫМИ, как указано в Поддержка внешнего ключа SQLite .

Сколько комментариев получает конкретный subreddit в день?

Вы используете запрос, который использует count агрегатную функцию для выбранного (WHERE пункт ) subreddit, отмечающий, что у вас нет возможности различать дни (если только сам subreddit не рассчитан на день).

например,

SELECT count() FROM the_table WHERE the_column = the_value_to be_matched

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

Пользователи, которые прокомментировали определенную ссылку, имеюттакже опубликовано в какие подредакты?

Если вы хотите, чтобы в результирующем наборе было несколько строк, а столбец автора - из таблицы usersTable, то вам нужно выбрать строки в соответствии с вашими критериями (предложение WHERE)Усинga JOIN для включения столбцов из связанной таблицы (с учетом того, что если имя столбца не является уникальным, необходимо добавить префикс имени столбца к имени таблицы и разделяющему . (точка / полная остановка) для устранения неоднозначности).

например

SELECT your_table.your_column FROM your_table JOIN the_related_table ON your_table.your_column_that_references_the_related_table = your_related_table.your_column_that_is_related_to
WHERE your_expression;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...