尝试在一个 php 函数中连接来自两个不同表的两个 mysql 查询时出现问题

它提出的问题是执行查询的时刻,只有我正在执行表 example2 的查询,而不是表 example1 的查询。


$query  = " SELECT a.id, a.name

                FROM example1 a

                ";

        $query .= " UNION ";

        $query  = " SELECT a.id,a.name

                FROM example2 a

                ";

    $query  .= " WHERE 1 = 1 ";


一只甜甜圈
浏览 72回答 1
1回答

慕沐林林

我相信您的问题源于您应用于表的别名:FROM example1 a和FROM example2 a您可能希望这些别名不同,因为它们代表不同的表,请尝试这样的操作:SELECT e1.id, e1.name FROM example1 e1 UNION SELECT e2.id, e2.name FROM example2 e2 WHERE 1=1编辑:看起来好像原始代码缺少 a.=而只是一个=.更新后的代码将是:$query  = "SELECT e1.id, e1.name FROM example1 e1";$query .= " UNION ";$query .= " SELECT e2.id, e2.name FROM example2 e2"; // (.= was missing here)$query .= " WHERE 1 = 1 ";
打开App,查看更多内容
随时随地看视频慕课网APP