标签: mysql-error-1054

过滤mysql中的别名

为什么以下查询无效?Mysql抱怨z - 我不能在WHERE子句中使用别名吗?

SELECT x + y AS z, t.*  FROM t
WHERE 
x = 1 and
z = 2
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Error Code : 1054
Unknown column 'z' in 'where clause'
Run Code Online (Sandbox Code Playgroud)

mysql sql mysql-error-1054

2
推荐指数
1
解决办法
4010
查看次数

得到mysql错误1054

我收到此错误:#1054 - 'on子句'中的未知列't.mobile'

SELECT t.*,v.name,v.contact_person_email,l.firstname as memname 
FROM transactions t , vendor v
LEFT JOIN loyalty_members l ON (t.mobile=l.mobile) 
WHERE t.vendor_id ='N1WU95' 
AND v.alert_mail = '2'
AND t.add_date  <= '2011-07-22 09:00:00'
AND t.add_date >= '2011-07-21 09:00:00'
AND t.vendor_id = v.id
AND t.type = '1' 
AND t.deleted != '1'
AND t.reference_id = '0'
GROUP BY t.mobile 
HAVING COUNT(t.mobile) > 1;
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

谢谢.

mysql database mysql-error-1054

2
推荐指数
1
解决办法
5718
查看次数

#1054 - 未知列

我正在使用MySQL 5.5和phpmyadmin 3.5.2(由http://www.freewebhostingarea.com提供)

我的SQL查询是:

INSERT INTO `example`(`id`, `name`, `password`) VALUES (1,we,5)
Run Code Online (Sandbox Code Playgroud)

其中id是int类型,名称和密码是varchar.

但是当在名称和年龄中插入除整数之外的任何值时,它会显示#1054错误,即

#1054 - Unknown column 'we' in 'field list'
Run Code Online (Sandbox Code Playgroud)

mysql sql varchar sqldatatypes mysql-error-1054

2
推荐指数
1
解决办法
2万
查看次数

为什么我可以对内联SELECT值进行排序,但不在WHERE子句中使用它?

我有这个小的SQL查询.

SELECT a.`id` , a.`title` , a.`date` , 
(
    SELECT MAX( grade )
    FROM tests
    WHERE userid = 41
    AND presid = a.`id`
) AS grade
FROM `presentations` a
WHERE a.`visible` = 1
AND `grade` >= 5
ORDER BY `grade` DESC
Run Code Online (Sandbox Code Playgroud)

这给了我错误

1054 - 'where子句'中的未知列'等级'

但如果我删除第二行,它工作正常.我试图做AND a.grade,甚至给测试表一个名字,并将该名称附加到等级,但仍然没有运气.

如何在WHERE子句中使用此内联查询?

我发现这有效,但这是唯一的方法吗?

SELECT a.`id` , a.`title` , a.`date` , 
(
    SELECT MAX( grade )
    FROM tests
    WHERE userid = 41
    AND presid = a.`id`
) AS grade
FROM `presentations` a
WHERE …
Run Code Online (Sandbox Code Playgroud)

mysql sql mysql-error-1054

1
推荐指数
1
解决办法
749
查看次数

令人难以置信的简单SQL问题

我试图写出表面上应该是相对简单的SQL查询 - 然而,我无法让它们发挥作用.

是否可以编写如下所示的查询:

select t.name 
  from (select * 
          from mystoredproc(1,2,3) as t) 
 where t.name = 'foobar'
Run Code Online (Sandbox Code Playgroud)

上述查询存在两个问题:

1)首先,上述声明起作用.我的db引擎(mySQL)抱怨:

ERROR 1054(42S22):'字段列表'中的未知列't.name'

2)我想在SELF JOIN中使用返回的表t.但是,我不想再次调用mystoredproc(...),因为这是一个非常昂贵的电话.

任何人都知道如何解决这些问题?

顺便说一句,即使我正在使用mySQL(现在),我更愿意,如果任何提供的SQL片段是db不可知的(即ANSI SQL)

mysql sql stored-procedures mysql-error-1054

1
推荐指数
1
解决办法
206
查看次数

"未知列",因为子查询子查询

我需要在子查询中执行子查询,导致'where子句'中的"未知列't1.product_id'".在我的例子中,它在第7行.如何解决这个问题呢?

SELECT *,product_id id,
    (SELECT GROUP_CONCAT (value ORDER By `order` ASC SEPARATOR ', ') 
    FROM (
        SELECT `order`,value 
        FROM slud_data 
        LEFT JOIN slud_types ON slud_types.type_id=slud_data.type_id 
        WHERE slud_data.product_id = t1.product_id 
          AND value!='' AND display=0 
        LIMIT 3
    ) tmp) text
FROM slud_products t1 
WHERE 
    now() < DATE_ADD(date,INTERVAL +ttl DAY) AND activated=1
    ORDER BY t1.date DESC
Run Code Online (Sandbox Code Playgroud)

在使用GROUP_CONCAT查询时忽略了LIMIT的问题

mysql sql subquery mysql-error-1054

1
推荐指数
1
解决办法
5798
查看次数

MySQl查询问题

我没有在MySQL上花费大量时间,但我被要求调查我教会网站的问题.它已经停机了很长一段时间,我试图让它恢复运行.原始网站是在Mambo 4.5.3中完成的,这是一个旧版本.我会在某些时候升级它,但我只想让它暂时运行.

我目前在下面的Mambo内置查询中遇到问题.站点管理尝试访问页面的任何地方,我收到错误消息:

'on子句'中的未知列'c.access'.

我已经验证该列确实存在于指定的表中.现在我很难过.我打开了MySQL查询分析器并粘贴了查询,我得到了代码为1054的相同错误消息.有没有人有任何想法?

SELECT 
    c.*, 
    g.name AS groupname, 
    cc.name, 
    u.name AS editor, 
    f.content_id AS frontpage, 
    s.title AS section_name, 
    v.name AS author 
FROM 
    mos_content AS c, 
    mos_categories AS cc, 
    mos_sections AS s 
    LEFT JOIN mos_groups AS g ON g.id = c.access 
    LEFT JOIN mos_users AS u ON u.id = c.checked_out 
    LEFT JOIN mos_users AS v ON v.id = c.created_by 
    LEFT JOIN mos_content_frontpage AS f ON f.content_id = c.id 
WHERE 
    c.state >= 0 
    AND c.catid=cc.id 
    AND cc.section=s.id 
    AND s.scope='content' 
ORDER …
Run Code Online (Sandbox Code Playgroud)

mysql sql mysql-error-1054

1
推荐指数
1
解决办法
93
查看次数

打击INNER JOINS - 章节:未知栏目

SELECT p.id
FROM produkty p, przyporzadkowania pr, stany_magazynowe, gk_grupy_produkty
INNER JOIN sub_subkategorie ssi
ON pr.sub_subkategorie_id = ssi.ID
Run Code Online (Sandbox Code Playgroud)

表及其重要字段

produkty - id, pozycja
przyporzadkowania - id, produkt_id, sub_kategoria_id, sub_subkategoria_id
sub_subkategorie - id, subkategorie_id, pozycja
subkategorie - id, kategorie_id, pozycja
kategorie - id, pozycja
Run Code Online (Sandbox Code Playgroud)

错误"#1054 - 'on子句'中的未知列'pr.sub_subkategorie_id'"

试过

SELECT p.id, pr.sub_subkategorie_id
Run Code Online (Sandbox Code Playgroud)

结果相同.

完整查询(未通过上述查询失败进行测试):

SELECT p.id
FROM produkty p, przyporzadkowania pr, stany_magazynowe, gk_grupy_produkty
INNER JOIN sub_subkategorie ssi ON pr.sub_subkategorie_id = ssi.ID
INNER JOIN subkategorie si ON ssi.subkategorie_id = si.id
INNER JOIN kategorie c …
Run Code Online (Sandbox Code Playgroud)

mysql sql join mysql-error-1054

1
推荐指数
1
解决办法
1120
查看次数

Django raw()查询,WHERE子句中的计算字段

我想知道在使用计算字段时是否对raw()方法的语法有任何限制.这是一个简单的例子:

Company.objects.raw('''SELECT *,core_location.a + core_location.b as dist
FROM core_location,core_company  
ORDER BY dist''')
Run Code Online (Sandbox Code Playgroud)

上面的代码按预期工作(结果按计算字段'dist'排序),但是当我添加WHERE子句时,例如:

Company.objects.raw('''SELECT *,core_location.a + core_location.b as dist
FROM core_location,core_company
WHERE dist<10  
ORDER BY dist''')
Run Code Online (Sandbox Code Playgroud)

我得到了(1054,'where where'中的"未知栏'dist'")

到目前为止看起来我不能在WHERE子句中使用计算字段,但我可以在ORDER BY语句中使用它.请分享您的经验.谢谢.

mysql django mysql-error-1054

1
推荐指数
1
解决办法
2403
查看次数

cakephp从另一个表中将数据检索到控制器中

我正在使用cakephp,我希望在我的userController.php中从另一个表(ingredient_aliases)中检索数据.这是成分阿里亚斯的模型

class IngredientAlias extends AppModel {
    public $name = 'IngredientAlias';
    public $useTable = 'ingredient_aliases';
    public $belongsTo = array(
        'Ingredient' => array(
            'className'    => 'Ingredient',
            'foreignKey'   => 'ingredient_id'
        )
    );
...
Run Code Online (Sandbox Code Playgroud)

我想从我的userController.php中检索表ingredient_aliases(最后创建的10个)中的数据

我试过这种模式:

$this->loadModel('IngredientAlias', 2);
$ingg = $this->IngredientAlias->read();
$options['joins'] = array(
    array('table' => 'ingredient_aliases',
        'alias' => 'ing',
        'type' => 'LEFT',
        'foreignKey' => 'ing.user_id',
        'order' => 'ing.created DESC',
        'limit' => 3,
        'conditions' => array(
            'ing.user_id = User.id'
        )
    )
);
$options['conditions'] = array( );
$this->set('ingredient',$this->IngredientAlias->find('all', $options));
Run Code Online (Sandbox Code Playgroud)

但这给了我这个错误:错误:SQLSTATE [42S22]:找不到列:1054'on子句'中的未知列'User.id'

有人能帮我吗?谢谢

php mysql cakephp mysql-error-1054

1
推荐指数
1
解决办法
6144
查看次数