2017-10-18 61 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相同 –