【问题标题】:MYSQL inner join of two tables with non-unique columns具有非唯一列的两个表的 MYSQL 内连接
【发布时间】:2014-03-03 18:28:12
【问题描述】:

我有两个表(jos_table1 和 jos_table2),我想对 element1(来自表 1)和 element2(来自 table2)进行内部连接。两个表都包含一个名为“parent_id”的列 - 我无法更改。

我想根据 parent_id 元素计算满足某个 where 子句的行数。如果我省略 where 子句,该语句可以正常工作,但是当我有它时它不起作用并返回错误“警告:mysql_fetch_array() 期望参数 1 是资源,给定的布尔值”

有人知道为什么吗?非常感谢任何帮助。

亲切的问候,

保罗·休斯

$table="jos_table1";
$table2= "jos_table2";

MYSQL_CONNECT($server, $user, $password) or die ( "<H3>Server unreachable</H3>");

MYSQL_SELECT_DB($database) or die ( "<H3>Database non existent</H3>");

$aiders=MYSQL_QUERY('SELECT COUNT($table.element1) AS hpp FROM $table INNER JOIN $table2 ON $table.element1=$table2.element2
WHERE `$table.parent_id` = 134
'); 

$faid = mysql_fetch_array($aiders);
$total = $faid[0];
echo "The total is (".$total.")";

【问题讨论】:

  • 使用单引号时不会替换 $table 等变量。
  • 非常感谢 - 立即工作!

标签: mysql inner-join alias


【解决方案1】:

反引号需要绕过表格部分和/或列部分。

例如:

WHERE `$table`.`parent_id`=134

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 1970-01-01
    • 2019-06-24
    • 2018-01-13
    相关资源
    最近更新 更多