从错误表中提取SQL
问题描述:
我有两个表。我有我的图片表,我有我的马表。这是我的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。
任何线索为什么这样做?或者我能做些什么来解决这个问题?
答
由于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'
现在将返回所有列来自Horse
和Images
+0
但我得到的图像ID。它从马上返回Images Table的ID和其余的。我只想要马的东西。这就是为什么我很困惑。我不知道为什么我得到错误的ID,直到进入我的Images表并看到它正在使用的Image ID与Horse.Image_name相同 –
请问你的代码甚至可以运行? – Eric
@Eric是的,这就是为什么我很困惑。 –