我有两个表的查询,我需要再加一个表,这样我就可以得到与订单相对应的产品模型。
到目前为止我所拥有的是
$sql = "SELECT
o.order_id,
o.name,
o.value,
GROUP_CONCAT(o.order_id, o.name, o.value SEPARATOR ',') AS Options
FROM `order_option` AS o
LEFT JOIN `order` AS oo on o.order_id = oo.order_id
where oo.order_status_id = 2
group by o.order_id";
mysql_query("SET NAMES 'utf8'");
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
$options=$row['Options'];
print "$options";
PRINT "<br>-------------------<br>";
}
现在,我有第三个表,其中包含每个订单的产品型号。该表名为“order_product”,它有两个字段“order_id”和“model”(每个订单一个记录)。
我现在的结果是
ID,option1:Valude,option2:Value
我想要完成的是
ID,MODEL,option1:Valude,option2:Value
模型应该来自第三个表“order_product”
任何建议都非常感谢。 感谢
答案 0 :(得分:0)
试试这个
SELECT table1.* from table1
JOIN table2 as lnk1 on table1.id = table2.tab1_id AND
JOIN table3 as lnk2 on table2.id = table3.tab2_id -->here you can use table1 as to join also
但请记住,某些表格的加入层次结构可能与之前的表格有关,但可能尚未加入
答案 1 :(得分:0)
$sql = "SELECT
o.order_id,
o.name,
o.value,
GROUP_CONCAT(o.order_id, o.name, o.value SEPARATOR ',') AS Options,
op.model
FROM `order_option` AS o
INNER JOIN `order` AS oo on o.order_id = oo.order_id
INNER JOIN `order_product` AS op on oo.order_id = op.order_id
where oo.order_status_id = 2
group by o.order_id";
喜欢那个?
只需对您的订单ID号进行额外加入,因为它会链接到所有表格。
答案 2 :(得分:0)
这应该达到目的:
SELECT
o.order_id,
order_product.model,
o.name,
o.value,
GROUP_CONCAT(o.order_id, o.name, o.value SEPARATOR ',') AS Options
FROM `order_option` AS o
LEFT JOIN `order` AS oo on o.order_id = oo.order_id
LEFT JOIN order_product ON o.order_id = order_product.order_id
where oo.order_status_id = 2
group by o.order_id