[英]Join query issue in jquery datatable
I am using jquery datatable with server-side processing. 我在服务器端处理中使用jquery数据表。 Just I am trying to make
join
query to produce output. 我只是想使
join
查询产生输出。
So I changed columns array to something like this: 所以我将column数组更改为如下形式:
$aColumns = array (
"u.user_id",
"CONCAT(u.first_name, ' ', u.last_name)",
"u.gender",
"CONCAT(a.suburb, ', ', a.zip_code)",
"u.date_registered"
);
And changed query like this. 并更改查询是这样的。
$sQuery = "SELECT SQL_CALC_FOUND_ROWS u.user_id
, CONCAT(u.first_name, ' ', u.last_name)
, u.gender
, CONCAT(a.suburb, ', ', a.zip_code)
, u.date_registered
FROM users u
INNER JOIN user_addresses a ON a.user_id = u.user_id ".$sWhere.$sOrder.$sLimit;
Then I can populate the datatable. 然后,我可以填充数据表。 But its search, filter and sort is not working.
但是它的搜索,过滤和排序不起作用。
This kind of error I can get when I trying to search, filter or sort. 当我尝试搜索,过滤或排序时会遇到这种错误。
Unknown column 'u.user_id' in 'where clause'
“ where子句”中的未知列“ u.user_id”
Updates This is the output when I echo $sQuery
更新这是我回显
$sQuery
时的输出
SELECT SQL_CALC_FOUND_ROWS u.user_id
, CONCAT(u.first_name, ' ', u.last_name)
, u.gender
, CONCAT(a.suburb, ', ', a.zip_code)
, u.date_registered
FROM users u
INNER JOIN user_addresses a ON a.user_id = u.user_id AND a.address_type = 1
WHERE (`u.user_id` LIKE '%s%' OR `CONCAT(u.first_name, ' ', u.last_name)` LIKE '%s%' OR `u.gender` LIKE '%s%' OR `CONCAT
(a.suburb, ', ', a.zip_code)` LIKE '%s%' OR `u.date_registered` LIKE '%s%') LIMIT 0, 10
Unknown column 'u.user_id' in 'where clause'
Can anybody may help me out. 有人可以帮我吗。 Thank you.
谢谢。
You are wrapping the column name in backticks, not just the column name. 您将列名包装在反引号中,而不仅仅是列名。
For example, you have: 例如,您有:
`u.user_id`
Where it should be: 应该在哪里:
u.`user_id`
You will need to change this for all your values in the where clause. 您将需要在where子句中为所有值更改此设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.