2011-06-09 72 views
1

我有代码在这里加入两个表。但是,我不想从帐户数据库中获取密码元素。我怎么能这样做?选择所有,但在JOIN元素MySQL

"SELECT f.*, a.* 
    FROM Following as f 
    JOIN Accounts as a on f.followingUserID = a.id 
    WHERE `followingUserID` = '$acID' 
+0

然后列出您希望选择的字段。 – 2011-06-09 00:36:15

+0

选择你想要的所有字段 – 2011-06-09 00:36:35

回答

0

命名列而不是全部检索它们。

取而代之的是*:

a.ColumnName1,a.ColumnName2等....

0

如果你不想选择一个密码元素,你需要改变a.*选择每列单独即

SELECT f.*, a.account_id, a.name 
FROM following as f 
JOIN accounts as a on f.followingUserId = a.id 
WHERE followingUserID = '$acID' 
1

没有SQL约定“除了......所有列” - 它要么全部,或者你手工定义列表:

SELECT f.*, 
     a.col1, a.col2, 
     a.`col name using spaces not good` 
    FROM FOLLOWING as f 
    JOIN ACCOUNTS as a on f.followingUserID = a.id 
WHERE f.followingUserID = '$acID' 
+0

如果列名中有空格,该怎么办? – RhumSHISH 2011-06-09 00:39:42

+0

不是很好的一般做法,但是如果你一定要引用它的话 – 2011-06-09 00:42:09

+0

@RhumSHISH:正如Dagon所说,不是一个好习惯 - 在这种情况下使用反引号(以及如果使用保留关键字命名列)。查看更新。 – 2011-06-09 00:46:39