2015-09-26 46 views
2

我需要爲給定的帖子選擇帖子內容和圖像。mysql - 從兩個表中選擇多個colums值

我有一個postimage表,我想根據postid選擇一些/不是所有列。

我正在這樣做,但得到語法錯誤。

SELECT `title`,`desc`,`date`, FROM `img`.`post` 
INNER JOIN 

    (SELECT `hash`,`hits`,`timestamp`,`userid` FROM `img`.`image` WHERE `postid` IS NOT NULL) 

WHERE `postid` IS NOT NULL 

請參閱並建議任何可能的方式來做到這一點。 感謝

+0

請提供一些樣本數據和預期產出。 – Wanderer

+0

這兩個表中的共同屬性是什麼? – Gautam

+0

@ Gautam'postid' –

回答

1

之前表名刪除,

SELECT `title`,`desc`,`date`, 

你需要你的表

SELECT `title`,`desc`,`date` FROM `img`.`post` 
INNER JOIN 

    (SELECT `hash`,`hits`,`timestamp`,`userid`,`postid` FROM `img`.`image` WHERE `postid` IS NOT NULL) 

AS a 

WHERE a.`postid` IS NOT NULL 
+0

現在我得到了'(!)致命錯誤:每個派生表必須在' –

+0

中有它自己的別名我得到未知列a.'postid' –

+0

您需要在您的選擇中添加'postid'聲明!!檢查更新 – Saty

4
SELECT `p.title`,`p.desc`,`p.date`,`im.hash`,`im.hits`,`im.timestamp`,`im.userid` FROM `post` as p 
    INNER JOIN `image` as im ON p.postid =im.postid 

如果您正在使用內部連接則u不必須使用創建別名不空條件,因爲它只會返回匹配值