Mysql 2选择所有语句不能正常工作

时间:2015-01-14 13:57:17

标签: php mysql join echo

我想选择2个这样的表

$query = $this->pdo->prepare('SELECT StandItems.*, Stock.* FROM StandItems, Stock 
            WHERE StandItems.StandId = ? AND StandItems.Barcode = Stock.Barcode');

这样可行但是当我尝试这样的事情时,它不起作用

echo StandItems.Barcode 

但如果我做这样的事情,那就行了。

echo Barcode

有没有办法通过添加" StandItems"来实现它?在列名之前,因为StandItems和Stock有一些相同的名称所以当我试图从库存中回显一个列时它从standitems中取出它

1 个答案:

答案 0 :(得分:2)

查询的结果具有列名。这些名称​​不包含表别名。因此,在查询的上下文中,您可以 - 并且应该 - 使用限定名称。但是,在结果集中只使用列名本身。

您可以使用as来控制别名,因此您可以执行以下操作:

select StandItems.Barcode as StandItems_BarCode
例如,

然后在引用结果集中的列时使用StandItems_Barcode

顺便说一下,您的查询似乎缺少join。如果您真的想在表格之间使用笛卡尔积,那么请明确使用cross join而不是逗号。