在mysql中组合不同的结果集(可能不能使用union)

时间:2011-09-18 21:27:30

标签: php mysql

我正在为网站构建标记系统,并且在显示已标记的项目时遇到问题。

本网站可以标记3种不同类型的东西:

  1. 论坛主题
  2. 回复任何这些主题的帖子
  3. 用户创建的播放列表
  4. 因此,当浏览某个标签时,用户应该能够看到所有这些不同的项目。这里的问题当然是所有三个项目都有不同的表结构。对于线程,还有额外的选择和连接到其他几个表。显然,所选择的数据在表格中不匹配,这可能会遗漏MySQL的UNION语法(或者我认为)。

    我有什么选择?

    表架构:

    threads: threadid, title, thread_type (article, event, artist, thread)
    events: eventid (corresponds to threadid on join), title, begin_time, end_time
    artists: artistid (corresponds to threadid on join), artist_username
    news: newsid, news_title, is_thread, threadid, postid (joined on either one; for threads, is_thread is used also)
    thread replies: postid, threadid, thread_title
    playlists: playlistid, playlist_title (is never associated with any previously mentioned tables)

1 个答案:

答案 0 :(得分:0)

我知道我要试试。由于每个连接都是tags_connections表中的一个表行,我将制作一些JOIN并让PHP稍后决定显示什么。我会报告我的成功或缺乏成功