使用Joomla whiole我正在执行查询
select p.id, (select id,building_id
from qu21k_ets_building_widgets
where building_id = 47) as order_id
from qu21k_ets_buildings p
where p.id = 47
我在执行上述查询时遇到错误。
1241 - 操作数应包含1列
结果应在下面作为数组:
{
"order_id":101,
"building_id":1,
"order_info":"apple related",
"order_date":"2012-10-14 11:46:12",
"_SQL_COL_1":
[
{
"id":1001,
"building_id":101,
"name":"9.99"
},
{
"item_id":1002,
"building_id":101,
"name":"19.99"
}
]
}
答案 0 :(得分:0)
从子查询中删除building_id
,子查询中的select应包含一列。
这应该有效:
select p.id, (select id
from qu21k_ets_building_widgets
where building_id = 47) as order_id
from qu21k_ets_buildings p
where p.id = 47
答案 1 :(得分:0)
您使用的是从属子查询,而不是最佳解决方案,而是使用连接
SELECT p.id,
w.id AS widgetid ,
w.building_id,
CONCAT(w.id,w.building_id) AS order_id
FROM qu21k_ets_buildings p
JOIN qu21k_ets_building_widgets w
ON(p.id = w.building_id)
WHERE p.id = 47 AND w.building_id = 47
从中获取数据并构建数组