2013-07-25 88 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