繁体   English   中英

连接具有不同ID的多个表

[英]Joining multiple tables with different ID's

我有以下查询:

$cuttinglist_products_query = 
  tep_db_query("select op.orders_products_id, op.orders_id, op.products_id, ".
                      "op.products_model, op.products_name, op.products_quantity, ".
                      "p.products_id from " . TABLE_ORDERS_PRODUCTS . " op " .
                  " left join " . TABLE_PRODUCTS . " p " .
                  " on (op.products_id = p.products_id) where orders_id = '" . 
                  (int)$cuttinglist['orders_id'] . "'");

这会将两个具有相同ID的表连接在一起。 我如何加入第三张表:

"TABLE_ORDERS_PRODUCTS_ATTRIBUTES" 

ID与:

"TABLE_ORDERS_PRODUCTS"

使用的ID是:

"orders_products_id"

只需添加另一个join子句:

SELECT ...
FROM TABLE_ORDERS_PRODUCTS op
LEFT JOIN TABLE_PRODUCTS p ON op.products_id = p.products_id
LEFT JOIN TABLE_ORDERS_PRODUCTS_ATTRIBUTES pa ON op.products_id = pa.orders_products_id
WHERE ...
$sql  = " select ";
$sql .= "   op.orders_products_id,  op.orders_id,          op.products_id,  op.products_model, ";
$sql .= "   op.products_name,       op.products_quantity,  p.products_id ";
$sql .= " from ". TABLE_ORDERS_PRODUCTS ." op ";   
$sql .= " left join ". TABLE_PRODUCTS ." p on (op.products_id = p.products_id) ";
$sql .= " left join ". TABLE_ORDERS_PRODUCTS_ATTRIBUTES ." pa on (pa.orders_products_id = op.orders_products_id) ";
$sql .= " where op.orders_id = ";
$sql .= "'". (int)$cuttinglist['orders_id'] ."'";

$cuttinglist_products_query = tep_db_query( $sql );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM