我在建立查询时遇到问题。我可以在3种不同的查询中做我想要的。帮助抓住(INNER?)加入
SELECT id FROM table1 WHERE url LIKE '%/$downloadfile'
put that in $url_id
SELECT item_id FROM table2 WHERE rel_id = '$url_id'"
put that in $item_id
SELECT rel_id FROM table2 WHERE rel_id = '$item_id' AND field_id = '42'"
put that in $user_id
但是通过阅读关于连接和内部连接的示例,我认为有一种更优雅的方式。我不能换我的大脑周围写一个更好的查询(但想)我可以形容它应该怎么走:
table1的 字段:ID,网址
表2个 领域ITEM_ID,rel_id,FIELD_ID
我知道table1.url的最后一部分(LIKE'%/ $ filename'),我选择了table1.id。 table1.id等于table2.rel_id中的一个条目。所以得到它并选择table2.item_id。 在表2中有另一个具有相同table2.item_id的条目,它将有一个table2.field_id ='42' 最后,我需要的值是table2.rel_id,其中table2.field_id是42. 我将获取该值,并把它放在$ user_id
这可以通过一个使用连接/内部连接的查询来完成吗?
Yay it works!在第二次内部连接中有一个小的变化,请参阅我的答案。我甚至得到了同一张表的双重实例:P – ugreen 2010-03-23 23:44:06