2009-11-06 20 views
0

Je Date colonne de type (MySQL):Obtenez mois distincts et l'année avec SubSonic

SELECT invdate FROM invoices; 

invdate 
------- 
2009-08-22 
2009-07-12 
2009-08-23 
------- 

et je veux obtenir le mois et l'année comme ceci:

SELECT DISTINCT MONTH(invdate) AS invmonth, YEAR(invdate) AS invyear FROM invoices; 

comment utiliser en C# avec SubSonic (SimpleRepository)?

TIA

Répondre

0

OMG! J'ai oublié de définir la variable comme date/date/heure, donc je ne peux pas utiliser ces fonctions.

avant:

public string invdate { get; set; } 

après:

public DateTime invdate { get; set; } 

Mon erreur, je suis désolé. Problème résolu.

1

Avez-vous eu l'occasion de jeter un oeil à la documentation? Voir le lien et le code ci-dessous, cela devrait aider.

http://subsonicproject.com/docs/Distinct

[Test] 
public void SqlQuery_when_setting_distinct_it_should_set_IsDistinct() 
{ 
    SubSonic.SqlQuery query= new 
     Select(Product.SupplierIDColumn).From<Product>().Distinct(); 
    Assert.IsTrue(query.IsDistinct); 
} 

[Test] 
public void SqlQuery_should_handle_distinct() 
{ 
    ProductCollection select = new 
     Select(Product.SupplierIDColumn).From<Product>().Distinct() 
     .ExecuteAsCollection<ProductCollection>(); 

    Assert.AreEqual(29, select.Count); 

} 

[Test] 
public void SqlQuery_GetRecordCount_should_handle_distinct() 
{ 
    int select = new Select(Product.SupplierIDColumn) 
     .From<Product>().Distinct() 
     .GetRecordCount(); 

    Assert.AreEqual(29, select); 
}