插入语句中的MySql表标识符

时间:2013-10-10 17:03:37

标签: php mysql sql

数据库中有表database_product和database_orders,正在使用p.rido.userid进行选择。如何定义po指向database_product和database_orders?

$query = $wpdb->prepare("
        SELECT p.rid, o.userid
        FROM {$this->dbtable}_orders o
        INNER JOIN {$this->dbtable}_product p ON p.productid = o.productid AND p.status = 'active'
        WHERE o.oid = %d AND o.transaction_id = %s
        LIMIT 1
        ",
        $oid, $tid
    );

2 个答案:

答案 0 :(得分:1)

查询定义中有一个隐含的“as”关键字。 阅读查询如下:

SELECT p.rid, o.userid
FROM {$this->dbtable}_orders as o
INNER JOIN {$this->dbtable}_product as p ON p.productid = o.productid AND p.status =   'active'
WHERE o.oid = %d AND o.transaction_id = %s
LIMIT 1

您可以使用“as”关键字对表进行别名,以帮助您更快,更清晰地编写 查询

查看http://dev.mysql.com/doc/refman/5.0/en/join.html了解详情

答案 1 :(得分:0)

在您的选择中,声明

{$this->dbtable}_orders o

例如,表示{$ this-> dbtable} _orders具有“o”作为别名。因此,您可以在其他表达式中将表格称为“o”。