下面是我需要查询的三个表。
r601_shoppingcart_carts
cart_id user_id customize
10 65 1
11 78 1
12 78 0
r601_shoppingcart_items:
cart_item_id cart_id sobipro_entry
5 10 87
39 11 194
40 11 140
38 12 126
r601_sobipro_field_data
fid sid baseData
45 194 cg_0059
45 140 cg_0094_4
45 141 cg_0011_2查询的期望结果将提供特定用户(user_id)购物车的baseData (产品号)(如果该项目(产品)是可定制的
在这种情况下,正确检索的数据应该显示user_id 78在他/她的购物车中有以下两个可定制的物品: cg_0059 cg_0094_4
早些时候,我在这里显示了一条SELECT语句,这条语句在左边的字段中已经很远了。我发现下面的SELECT语句实现了我的目标。我不知道这是不是一个有效的声明。如有任何意见,我们将不胜感激。
SELECT
r601_sobipro_field_data.baseData,
r601_sobipro_field_data.sid,
r601_shoppingcart_items.cart_id,
r601_shoppingcart_carts.cart_id
FROM
r601_sobipro_field_data,
r601_shoppingcart_items,
r601_shoppingcart_carts
WHERE
r601_sobipro_field_data.fid = 45
AND
r601_sobipro_field_data.sid = r601_shoppingcart_items.sobipro_entry
AND
r601_shoppingcart_items.cart_id = r601_shoppingcart_carts.cart_id
AND
r601_shoppingcart_carts.user_id = 78
AND
r601_shoppingcart_carts.customize = 1 我确实收到了一条有用的信息。谢谢!
发布于 2012-07-19 19:18:43
问题出在这条线上:
$partNo = $sobiBaseData_rows[$i]->baseData;由于查询返回的值返回一个单独的数组,因此不能访问$i元素。
如果每次只返回一个值,可以这样访问:
$partNo = $sobiBaseData_rows[0]->baseData;如果返回多个值,则可以循环遍历这些值并将其存储在数组中。
https://stackoverflow.com/questions/11551554
复制相似问题