我想选择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中获取
最佳答案
查询的结果具有列名。这些名称不包括表别名。因此,在查询的上下文中,您可以并且应该使用限定名称。但是,结果集中仅使用列名本身。
您可以使用as
控制别名,因此您可以执行以下操作:
select StandItems.Barcode as StandItems_BarCode
例如,然后在引用结果集中的列时使用
StandItems_Barcode
。顺便说一句,您的查询似乎缺少
join
。如果您确实希望在表之间使用笛卡尔积,则应明确并使用cross join
而不是逗号。关于php - MySQL 2选择所有语句无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27944654/