2012-01-07 2 views
0

привет, друзья, работающие над проектом и создающие систему уведомлений.соединение таблиц в соответствии с отметкой времени

, для которого мне нужно присоединиться к нескольким таблицам. так что я могу получить данные на основе метки времени таблицы уведомлений.

стол

notification table

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

типа стены после таблицы

type wall post table is

типа стены комментарий таблица

type wall comment table is

и, наконец, таблица пользователей для получения имени идентификатора во всей другой таблице:

стол пользователя

user table

действительно не в состоянии присоединиться к этим. может кто-нибудь помочь пожалуйста .....

+0

Не могли бы вы привести пример данных, которые вы пытаетесь to.retrieve? Я бы подумал, что вы присоединились бы к иностранным ключам и заказываете по отметке времени уведомления. –

+0

Я делаю систему уведомлений, такую ​​как facebook. Я сделал type_id, например тип уведомления. [комментарии к стене, сообщение на стене и т. д.] plz reffer для моего другого сообщения http://stackoverflow.com/questions/8768609/how-to-retrieve-notification-from-database-with-diffrent-types-of-notification благодаря много для того, чтобы убрать время, чтобы помочь –

ответ

1

Я вижу, что user_id является общим атрибутом во всех таблицах, поэтому вы можете присоединиться к таблицам этого атрибута.

Затем вы можете выбрать таблицу, соответствующую метку времени

Select * FROM notification_table INNER JOIN comment_table ON 
notification_table.user_d = comment_table.uid_fk INNER JOIN wallpost_table 
ON comment_table.uid_fk == wallpost_table.uid_fk INNER JOIN user_table ON 
wallpost_table.uid == user_table.uid 
+0

. Я использовал запрос ur, отредактировал имена таблиц, и теперь таблицы объединены, но его повторяющиеся результаты. это повторяется каждый результат в 4 раза может у ЧК, что не так SELECT * FROM уведомления INNER JOIN комментарии ON notification.user_id = comments.uid_fk INNER JOIN сообщения ON comments.uid_fk = messages.uid_fk INNER JOIN users_profile ON messages.uid_fk = users_profile.uid И notification.user_id = '3' ORDER BY notification.time_stamp DESC LIMIT 0, 30 –

+0

Почему вы использовали «AND notification.user_id = '3'"? Используйте, где вместо этого, если вы хотите получить запись, соответствующую user_id = 3 – Shraddha

+0

спасибо за помощь shraddha, я использовал там, где еще и результат, тот же самый im, получающий 4 записи каждого отдельного результата. –

Смежные вопросы