2013-07-25 87 views
0

我搞砸了3個表的mysql查詢,我只是不能得到它的工作。mysql查詢3表

情況:我有3張桌子。

enter image description here

現在我儘量讓基於一個inputfield,在那裏我把一個「OXID」從表「oxarticles」,結果應該是一個MySQL查詢,我得到一切從文章物品/氧化物是我在輸入字段中輸入的類別。

例子:我把一個inputfield按「OXID」 2提交和結果應該看起來像這樣:

​​

我嘗試了很多,但從來沒有接近。我在另一個查詢之前做了一天,這些查詢顯示了基於文章的所有類別,但我無法修改它並將其用於我的實際問題。

我希望你們能幫助我:)

那是什麼,我得到到目前爲止,但我認爲這甚至還沒有接近,因爲我得到一個白色的頁面。

$result = mysql_query("SELECT DISTINCT oxtitle FROM oxarticles a 
INNER JOIN oxobject2category b ON a.oxid = b.oxobjectid 
WHERE b.oxcatnid IN (SELECT oxcatnid FROM oxobject2category WHERE oxobjectid = 2)") 

or die(mysql_error()); ; 
+0

請發佈相關的SQL查詢到您的問題 –

+0

我沒有什麼可用,但導致我所有的結尾都是白色頁面。你的意思是我應該發佈我的嘗試查詢,對吧? – Kuba

+0

我們想看看你做了什麼,以及你是如何做到的。然後,我們可以給出答案,指出你的方向是否正確等。這樣我們可以糾正你的思維過程。教一個人釣魚要好得多,然後給他一個。 ;) – Fallenreaper

回答

-2

現在我知道了:

後續querys工作:

SELECT DISTINCT oxtitle FROM oxarticles a 
INNER JOIN oxobject2category b ON a.oxid = b.oxobjectid 
WHERE b.oxcatind IN (SELECT oxcatind FROM oxobject2category WHERE oxobjectid = 2 

而這其中也:

select distinct 
    a.oxtitle 
from 
    oxarticles a, 
    oxobject2category oc 
where 
    a.oxid = oc.oxobjectid and 
    oxcatind in (select oxcatind from oxobject2category where oxobjectid=2 

謝謝你的幫助:)

+2

在句法上無效的語法無效的(如你的問題中的語法正確的查詢)不起作用,而語法上無效的(如兩個都有缺少圓括號的那些)做的工作。 –

+0

不要錯誤的解決方案是一個正確的答案。 –

+0

是的,這是查詢後我的語法代碼錯誤,這就是爲什麼它不工作。所以我第一篇文章的嘗試是正確的。沒有意見... – Kuba