Pregunta

Estoy desarrollando un CMS que el uso de la base de datos basada en Joomla! En Joomla db, tenemos 2 tabla:

+----------+
|Categories|
+----------+
id
title
...

+-------+
|Content|
+-------+
id
title
catid
...

Tengo una consulta a continuación:

SqlQuery q = new Select("*")
                         //.Top("1")
                         .From(JosContent.Schema)
                         .InnerJoin(JosUser.IdColumn, JosContent.CreatedByColumn)
                         .InnerJoin(JosCategory.IdColumn, JosContent.CatidColumn)
                         .Where("catid").IsEqualTo(catId);

Y en la página ASPX, muestro datos como que:

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 :-(

Por favor, ayuda a corregir el problema? Cómo discean entre eso?

Gracias mucho!

¿Fue útil?

Solución

Se puede hacer referencia a la tabla de title Categories por: Categories.title y la title de mesa Content por: Content.title. Lo siento si no he entendido bien su pregunta.

Otros consejos

En su selecto que podría hacer como Alan dijo, y luego usar para cambiar lo que hace referencia a ellos como más tarde. (No sé específicamente ASP, yo soy un programador de PHP, pero supongo que es bastante similary).

Algo así como

SELECT *, Categories.title AS categoryTitle, Content.title AS contentTitle ... ...

Y a continuación, puede hacer referencia a categoryTitle o contentTitle.

lo he acabado:)

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);

Gracias ... Google: -)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top