当单独运行以下每个SELECT(没有UNION)时我正在按预期得到结果。使用UNION时我不会得到任何结果。
任何想法,为什么这不起作用?
$query = "
(SELECT * FROM projects WHERE public='1')
UNION
(SELECT * FROM projects JOIN project_region ON projects.id_project = project_region.id_project
JOIN user ON user.id_region = project_region.id_region WHERE user.user_id = {$current_user->ID})
UNION
(SELECT * FROM projects JOIN project_user ON projects.id_project = project_user.id_project
WHERE project_user.user_id = {$current_user->ID})
";
$projects = $wpdb->get_results($query);
if ($projects) {
foreach ($projects as $project) {
// output results
}
}
THX为你的答复,但问题是一个MySQL错误“列'id_project'字段列表中是不明确的”。请参阅下面的答案。 – joko13 2012-08-08 10:27:52
xto的答案是正确的答案。 joko13你的回答是xto的解释的结果... – Nico 2014-02-07 14:56:43