有一段时间以来,我一直在努力应对简单的联合结果展示。我的代码如下。
<h1>start test</h1>
<?php
ee()->db->from('store_orders as so');
ee()->db->join('store_order_items as si', 'so.id = si.order_id', 'inner');
$query = ee()->db->get();
echo '<h1>This is a list of all the channel titles999</h1>';
?>
<ul>
<?php
// print_r($query->result());
foreach($query->result() as $row)
{
echo '<li>' . $row->id . ' - ' . $row->order_id . ' - ' . date('m/d/Y:G:i:s', strtotime($row->order_date)) . '</li>';
}
?>
</ul>
在foreach循环中,我想显示连接的结果,以确保两个表中的订单ID相等.....它不是。
我在连接上尝试了内部,外部,左侧和右侧,每个都给出了不同的结果,但我认为不应该是正确的结果......两个字段应该是相同的。
任何帮助或见解都将不胜感激。
BTY,我在MS Access中建模我的查询以获得我的基本语法。
由于
Anthony Jaxon,美国加利福尼亚州洛杉矶
答案 0 :(得分:0)
因为你做SELECT *
并且两个表都有一个名为“id”的字段,所以MySQL不知道你想要哪一个。
您需要为字段设置别名
ee()->db->select('so.id, si.order_id, so.order_date');
ee()->db->join('store_order_items si', 'so.id = si.order_id');
$query = ee()->db->get('store_orders so');