我遇到了MySQL查詢問題(我是一個新手,所以對我來說很容易!)。我有一個帶有電視節目的網站,並希望根據兩種不同的操作(用於自定義時間表)選擇兩個日期之間播出的節目(沒有問題)。基本上,如果用戶正在跟隨(uses_follow_shows)或觀看節目(user_watched),我想要顯示該節目,所以我認爲我會在下面有類似的內容,但這不起作用。它工作正常,除了我的結果有一方面的查詢結果和另一方的結果。結合兩個查詢OR和LEFT加入 - MySQL
即:
name a1 name a
Mistresses (US) 2 Wilfred (US) 2
Mistresses (US) 2 Dexter 2
這是我的查詢:
我怎樣才能使它所以我所有的名字都在同一列?
SELECT * FROM (
SELECT shows.name, users_follow_shows.user_id a1
FROM show_episode_airdate join
show_episode
on show_episode.episode_id = show_episode_airdate.episode_id join
shows
on shows.imdb_id = show_episode.imdb_id_show join
show_network
on show_network.show_id = shows.id join
network
on show_network.network_id = network.network_id join
users_follow_shows
on shows.id = users_follow_shows.show_id
WHERE show_episode_airdate.airdate BETWEEN '2013-07-20' AND '2013-07-27' and
users_follow_shows.user_id = 2
ORDER by network.network_id ASC) a1
JOIN (
SELECT shows.name, user_watched.user_id a
FROM show_episode_airdate join
show_episode
on show_episode.episode_id = show_episode_airdate.episode_id join
shows
on shows.imdb_id = show_episode.imdb_id_show join
show_network
on show_network.show_id = shows.id join
network
on show_network.network_id = network.network_id join
user_watched
on shows.id = user_watched.show_id
WHERE show_episode_airdate.airdate BETWEEN '2013-07-20' AND '2013-07-27' and
user_watched.user_id = 2
ORDER by network.network_id ASC) a
ON a = a1
任何幫助表示讚賞。謝謝。
在您的查詢中,a和a1是表格。你不能加入table = table,但必須指定要加入的字段:ON a.field1 = a1.fieldN – makciook