Я пытался перечислить все Yelp пользователей, которые не просмотрели ни бизнеса, но предоставили по крайней мере, 2 комментариев по отзывам других пользователей в следующей таблице: Проблемы SQL-запроса с подсчетом частоты
Но у меня были некоторые проблемы. Эти проблемы в основном проистекают из моих попыток подсчета элементов, перечисленных как varchar. Например, в вопросах указано, что мне нужно вернуть пользователей, которые прокомментировали по меньшей мере два отзыва других пользователей. В настоящее время у меня есть List_Of_Comments, хранящийся в виде varchar с символами, похожими на следующие: «Y3, Y2». Как я должен определить, как часто пользователь отправляет комментарий через VARCHAR Это то, что я до сих пор:
SELECT U.YELP_ID FROM REVIEWS R, YELP_USER U
WHERE R.Author = U.YELP_ID AND R.Author = NULL AND R.Number_Of_Comments >= 2;
Предполагая следующие таблицы:
CREATE TABLE REVIEWS (
REVIEW_ID VARCHAR(3),
Stars INT,
Author VARCHAR(3),
Publish_Date VARCHAR(22),
BUSSINESS_ID VARCHAR(3),
List_Of_Comments VARCHAR(7),
Number_Of_Comments INT
);
CREATE TABLE YELP_USER (
YELP_ID VARCHAR(3),
Email VARCHAR(17),
First_Name VARCHAR(8),
Last_Name VARCHAR(17),
DOB DATE,
BirthPlace VARCHAR(3),
Gender VARCHAR(1),
Friendlist VARCHAR(9),
Complimented_Friendlist VARCHAR(6),
Checkedin_Businesses VARCHAR(36)
);
Если кто-то может помочь мне фигура это я был бы очень признателен. Я застрял на этом часами. Благодаря!
так ... mysql, SQL Server или Oracle? – Lamak
Ваша структура данных очень хлопотная. Кажется, что в некоторых столбцах вы разделили значения. Это нарушает 1NF и представляет собой серьезную боль, с которой приходится иметь дело. Разумеется, размеры этих столбцов препятствуют размещению любого реального количества информации в любом случае. –
Извините, это Oracle SQL – John123