我希望显示SQL请求的结果,但是我的代码会返回一个错误,我无法解决这个错误。如果有人能帮我,我会很感激的。
我和Codeigniter一起工作。
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Dropdown extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
$data['title']='Dependent Dropdown List';
$data['page']='index';
$data['MANUFACTURERS'] = $this->book_model->get_author();
$this->load->view('index', $data);
}
public function ctest()
{
$data['MODELS'] = $this->book_model->test();
$this->load->view('ajax_get_book',$data);
}
}
?>
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class book_model extends CI_Model {
function __construct(){
// Call the Model constructor
parent::__construct();
}
public function test() {
$lang = 6;
$code = 533001410;
$query = $this->db->query("SELECT DISTINCT
IF (ART_LOOKUP.ARL_KIND IN (3, 4), BRANDS.BRA_BRAND,
SUPPLIERS.SUP_BRAND) AS
BRAND, ART_LOOKUP.ARL_SEARCH_NUMBER AS NUMBER, ART_LOOKUP.ARL_KIND,
ART_LOOKUP.ARL_ART_ID, DES_TEXTS.TEX_TEXT AS ART_COMPLETE_DES_TEXT
FROM ART_LOOKUP
LEFT JOIN BRANDS ON BRANDS.BRA_ID = ART_LOOKUP.ARL_BRA_ID
INNER JOIN ARTICLES ON ARTICLES.ART_ID = ART_LOOKUP.ARL_ART_ID
INNER JOIN SUPPLIERS ON SUPPLIERS.SUP_ID = ARTICLES.ART_SUP_ID
INNER JOIN DESIGNATIONS ON DESIGNATIONS.DES_ID =
ARTICLES.ART_COMPLETE_DES_ID
INNER JOIN DES_TEXTS ON DES_TEXTS.TEX_ID = DESIGNATIONS.DES_TEX_ID
WHERE ART_LOOKUP.ARL_SEARCH_NUMBER = '.$code.' AND
ART_LOOKUP.ARL_KIND
IN (1, 2, 3, 4) AND DESIGNATIONS.DES_LNG_ID = '.$lang.'
GROUP BY BRAND, NUMBER");
return $query->result();
}
}
?>错误号: 1055 SELECT list的表达式#3不是按子句分组,而是包含非聚合列'dpazine.ART_LOOKUP.ARL_KIND‘,它在功能上不依赖于GROUP子句中的列;这与sql_mode=only_full_group_by不兼容。 选择DISTINCT (ART_LOOKUP.ARL_KIND IN (3,4),BRANDS.BRA_BRAND,SUPPLIERS.SUP_BRAND)作为品牌,ART_LOOKUP.ARL_SEARCH_NUMBER作为数字,ART_LOOKUP.ARL_KIND,ART_LOOKUP.ARL_ART_ID,DES_TEXTS.TEX_TEXT作为ART_COMPLETE_DES_TEXT从ART_LOOKUP离开加入品牌在BRANDS.BRA_ID = ART_LOOKUP.ARL_BRA_ID内连接文章在ARTICLES.ART_ID = ART_LOOKUP.ARL_ART_ID内连接供应商在SUPPLIERS.SUP_ID = ARTICLES.ART_SUP_ID内部连接上的命名DESIGNATIONS.DES_ID = ARTICLES.ART_COMPLETE_DES_ID内部连接DES_TEXTS ON DES_TEXTS.TEX_ID = DESIGNATIONS.DES_TEX_ID其中ART_LOOKUP.ARL_SEARCH_NUMBER =‘.533001410’。和ART_LOOKUP.ARL_KIND IN (1,2,3,4)和DESIGNATIONS.DES_LNG_ID = '.6.‘按组 品牌,号码文件名: C:/wamp64/www/CodeIgniter/system/database/DB_driver.php 线路号码: 691
发布于 2017-08-24 23:40:17
GROUP BY子句并不包含SELECT中的所有非聚集字段,比如ART_LOOKUP.ARL_KIND、ART_LOOKUP.ARL_ART_ID、DES_TEXTS.TEX_TEXT AS ART_COMPLETE_DES_TEXT。
看这个链接了解更多..。
https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html
或者把这些字段添加到你的组中?
发布于 2017-08-25 02:28:42
这与您的查询没有任何问题-- mysql配置问题
溶液.
打开my.cnf Mysql配置文件
把这段代码放在那里,问题就解决了。
[mysqld]
sql_mode=''https://stackoverflow.com/questions/45872095
复制相似问题