У меня есть три таблицы:MySQL многоуровневых таблиц ВЫБРАТЬ
Table(attribute1, attribute2...);
---------------------------------
Users(iduser, username)
Link(idlink, title, userid)
Comment(idcomment, content, linkid, userid)
Как выбрать: названия Link, с соответствующим именем пользователя и количество комментариев?
I'm currently doing like this:
Q1-Select links (SELECT * FROM `links`)
Q2-Extract usernames from previous query(Q1) - (SELECT username FROM `user` WHERE iduser=Q1.userid
Q3-Extract number of comments from Q1 by id (SELECT COUNT(*) as comments FROM `comment` WHERE linkid='Q1.idlink')
Я считаю, что мы можем сделать это гораздо более оптимизированным образом. Я понял, как получить ссылку с соответствующим именем пользователя, но я застрял, когда мне нужно подсчитывать комментарии.
Спасибо, это именно то, что я хотел! Как я могу построить комментарий? Я выбираю userid из комментария позже, когда я выбираю комментарии. Вы имеете в виду, мне просто нужно переименовать имя столбца? – ewooycom
Зависит от вашего использования. Возможно, вы разрешаете только ОДИН из linkid или userid, поэтому один комментарий может быть привязан только к пользователю или ссылке, но не к обоим. –
Я думаю, что вы оба пропустили пункт здесь. Комментарий одного пользователя о одной ссылке. – nnichols