SELECT命令在不存在的数据库上被拒绝给用户

时间:2013-10-21 21:12:13

标签: php mysql sql

现在已经困扰了一段时间,我认为这可能就是我如何建立联接。

我有两张桌子。 Ones被称为info,其中包含所有用户联系信息。我的第二个名为numbers的表具有针对不同用户的所有语音。它们通过信息的主要ID与phonenumbers的info_id相关联。我希望他们基于这种关系加入,我希望phonenumbers下的所有语音加入info中的单个phonenumbers列。我正在使用的当前联接是这个。

SELECT phonenumbers p, info i FROM i.phonenumbers 
INNER JOIN p.workphone 
ON i.PID=p.info_id 
INNER JOIN p.homephone 
ON i.PID=p.info_id 
INNER JOIN p.mobilephone 
ON  i.PID=p.info_id

所有我得到的是SELECT comman被定义为数据库工作电话上的用户甚至不是数据库。

表格信息: PID, 名字, 姓, 地址, 电子邮件, PHONENUMBERS,

表ponenumbers: PID, 工作电话, 家庭电话, 移动电话, info_id,

连接的语法很好。所有教程只是给出了示例,而不是对不同部分的解释。

1 个答案:

答案 0 :(得分:1)

JOIN语法是

TYPE_OF_JOIN database.table ON field = field

因为你有

JOIN p.workphone ON i.PID = p.info_id

您实际上是在告诉数据库要查找名为p的数据库,其中包含一个表workphone

您在SELECT字段列表中创建了别名p并不重要。这是一个字段别名,它们与表别名不同。