在查询中混合ANSI 1992 JOIN和COMMA [英] Mixing ANSI 1992 JOINs and COMMAs in a query

查看:77
本文介绍了在查询中混合ANSI 1992 JOIN和COMMA的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试以下MySQL查询来获取一些数据:

i'm trying the following MySQL query to fetch some data:

SELECT m.*, t.*
FROM memebers as m, telephone as t
INNER JOIN memeberFunctions as mf ON m.id = mf.memeber
INNER JOIN mitgliedTelephone as mt ON m.id = mt.memeber
WHERE mf.function = 32

但是我总是收到以下错误:

But i always get the following error:

#1054 - Unknown column 'm.id' in 'on clause'

该列确实存在,并且查询仅适用于一个表(例如,当我卸下电话时)正常工作

The column does exists and the query works fine with only one table (e.g. when i remove telephone)

有人知道我做错了吗?

推荐答案

似乎您的要求是加入members表,但您要加入telephone表.只需更改他们的订单即可.

It seems your requirement is to join members table but you are joining with telephone table. just change their order.

SELECT 
    `m`.*,
    `t`.* 
FROM
    `memebers` AS `m` 
    JOIN `telephone` AS `t` 
    JOIN `memeberFunctions` AS `mf` 
        ON `m`.`id` = `mf`.`memeber` 
        AND `mf`.`function` = 32 
    JOIN `mitgliedTelephone` AS `mt` 
        ON `m`.`id` = `mt`.`memeber`;

希望这对您有所帮助.谢谢!!

Hope this helps you. Thank you!!

这篇关于在查询中混合ANSI 1992 JOIN和COMMA的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆