题
我是使用基于数据库的Joomla开发CMS!在的Joomla分贝,我们有2表:
+----------+
|Categories|
+----------+
id
title
...
+-------+
|Content|
+-------+
id
title
catid
...
我有下面的查询:
SqlQuery q = new Select("*")
//.Top("1")
.From(JosContent.Schema)
.InnerJoin(JosUser.IdColumn, JosContent.CreatedByColumn)
.InnerJoin(JosCategory.IdColumn, JosContent.CatidColumn)
.Where("catid").IsEqualTo(catId);
和在ASPX页,我显示这样的数据:
Tite : <%# DataBinder.Eval(Container.DataItem, "title") %>
In category : <%# DataBinder.Eval(Container.DataItem, "title") %>
// Category tite not Content title, but ASP.NET think it is Content title :-(
请帮我解决这个问题?如何在之间discean?
非常感谢!
解决方案
可以指title
表由Categories
:Categories.title
和title
表由Content
:Content.title
。很抱歉,如果我误解你的问题。
其他提示
在你的选择,你可以不喜欢艾伦说,然后使用来改变你作为以后参考他们什么。 (我不知道具体的ASP,我是一个PHP程序员,但我认为它相当与之相似)。
像
的东西SELECT *,Categories.title AS categoryTitle,Content.title AS contentTitle ... ...
然后可以参考categoryTitle或contentTitle。
我已经完成它:)
SqlQuery q = new Select("*", "jos_Categories.title AS 'CatTitle'")
//Select("*", "CatTitle = jos_Categories.title")
//Select("*", "CatTitle = JosCategory.TitleColumn")
//.Top("1")
.From(JosContent.Schema)
.InnerJoin(JosUser.IdColumn, JosContent.CreatedByColumn)
.InnerJoin(JosCategory.IdColumn, JosContent.CatidColumn)
.Where("catid").IsEqualTo(catId);
谢谢...谷歌: - )
不隶属于 StackOverflow