2017-10-18 47 views
-1

我有两个表。我有我的图片表,我有我的马表。这是我的SQL从错误表中提取SQL

$sql = "SELECT * FROM Horse WHERE Horse.Owner = '$colname_List' AND Images.Image_name = Horse.Image_name AND Horse.Age > 24 AND Horse.Gender = 'Male'"; 

而当我打印我所有的记录时,我都会回显身份证,姓名,性别和年龄。

那么当我回应这个我得到的图像表中的ID,但从马表的名称,性别和年龄。我想要Horse表的ID。

任何线索为什么这样做?或者我能做些什么来解决这个问题?

+1

请问你的代码甚至可以运行? – Eric

+0

@Eric是的,这就是为什么我很困惑。 –

回答

0

由于images表不在您的FROM子句中,您没有从images表获得id。你需要将它添加到您的FROM子句和描述与东盟关系在ON子句中为加盟:

SELECT * 
FROM Horse 
    INNER JOIN Images ON 
     Images.Image_name = Horse.Image_name 
WHERE Horse.Owner = '$colname_List' 
    AND AND Horse.Age > 24 
    AND Horse.Gender = 'Male' 

现在将返回所有列来自HorseImages

+0

但我得到的图像ID。它从马上返回Images Table的ID和其余的。我只想要马的东西。这就是为什么我很困惑。我不知道为什么我得到错误的ID,直到进入我的Images表并看到它正在使用的Image ID与Horse.Image_name相同 –