Reputation: 329
I have the following query:
$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'] . "'");
This joins two tables together with the same id. How would I join a 3rd table called:
"TABLE_ORDERS_PRODUCTS_ATTRIBUTES"
with the same id as:
"TABLE_ORDERS_PRODUCTS"
The ID used is:
"orders_products_id"
Upvotes: 0
Views: 136
Reputation: 33542
To make it easier to read your code (and so you don't need to have so many concats and quotes everywhere you can do a query like this:
$sql='
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
left join '.TABLE_ORDERS_PRODUCTS_ATTRIBUTES.' Attrib
on op.orders_products_id=Attrib.orders_products_id
where
orders_id = "' .(int)$cuttinglist['orders_id'] . '"
';
$products_query = tep_db_query($sql);
Upvotes: 2
Reputation: 2075
$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) "
" left join " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " pa " .
" on (op.products_id = pa.orders_products_id) where orders_id = '" .
(int)$cuttinglist['orders_id'] . "'");
Upvotes: 1