мой набор результатов MySQL дублирует? почему - PullRequest
1 голос
/ 25 октября 2010

Я делаю этот запрос на MySQL, но он дает мне повторяющиеся наборы результатов:

это мой запрос:

SELECT u.username, u.picture, m.id, m.user_note, m.reply_id, m.reply_name, m.dt, m.votes_up
FROM user u, notes m
WHERE m.topic_id =14
ORDER BY m.dt DESC

Я не понимаю, почему он это делает? пожалуйста помогите:))

РЕДАКТИРОВАТЬ: схема таблицы

notes{id, user_id, topic_id, user_note, reply_id, reply_name, votes_up, dt}
user {user_id, username, password, email, full_name, picture, date_join}

1 Ответ

3 голосов
/ 25 октября 2010

У вас нет условия соединения в предложении where.Я предполагаю, что он создает декартово произведение ваших результатов.


Таким образом, у вас есть две таблицы, когда вы выбираете из двух таблиц, оно дает вам декартово произведение наборов результатов или всестроки в AX все строки в B. Что вам нужно сделать, это связать две таблицы вместе, т.е. связать их.select * from User as U,Notes as N where U.ID = N.UserID Затем добавьте другие ограничения.

...