2012-02-26 27 views
2

を '明確な選択' 私は、SQL ServerのCE 3.5を使用してクエリに問題があるとC#ここでSQL ServerのCE 3.5はprobleme

は私のテーブルには、どのように見えるかです:

start  | end  | matricul 
-----------+------------+--------- 
29/01/2012 | 29/01/2013 | 22453 
29/01/2012 | 29/01/2013 | 22454 
29/01/2012 | 29/01/2013 | 22455 
29/01/2011 | 29/01/2012 | 22458 
29/02/2012 | 29/02/2013 | 22440 

これは私が」とは何ですか持っているとdは:

start  | end  | matricul 
-----------+------------+--------- 
29/01/2012 | 29/01/2013 | 22453 
29/01/2011 | 29/01/2012 | 22458 
29/02/2012 | 29/02/2013 | 22440 

私はこのクエリを実行すると:

string query = "SELECT DISTINCT(start) FROM mytable " 

私は同じ結果を得ます(最初のテーブルと同じです)。

私は近くにこのようなことで、グループを使用してみてください:

string query = "SELECT COUNT(start),end,matricul FROM mytable GROUP BY start"; 

が、それは私にエラーを与えました。

あなたのグループのみ「スタート」による場合は任意のヘルプは

+0

「エラー」 - 何のエラー? –

+0

また、私は確かにクエリが表示されていることを確信しています(mytableからdistinct(start)を選択してください)** 3つのカラムを持つテーブルではありません...それはSQLルールのいくつかの非常に奇妙な解釈を使用していない限り –

答えて

3

をいただければ幸い、あなたは「終わり」と「matricul」を返すことはできませんしてください - それぞれのために複数の行があるかもしれませんよう。あなたは(たとえば、minまたはmax)aggrgatesにそれらのを返すことができます - しかし、私はあなただけで必要な期待:

select start, end, matricul 
from mytable 
group by start, end, matricul 

または:

select distinct start, end, matricul 
from mytable 

ます。また、グループとしてこれを書くことができます多分:WHT "matricul" によって

select start, end, sum(matricul) 
from mytable 
group by start, end 

は意味:P

+0

ここの問題: 'SELECT distinct start'は何もしません。SELECTを書くと同じ結果が返ってきます。理由はわかりません。 – user1202382

2

あなたは、あなたの質問に記載された3行でResultSetを達成するために、あなたはおそらくこのようなものが必要です:

select 
    start, [end], min(matricul) 
from 
    tablename 
group by 
    start, [end] 

お知らせ角括弧:endは予約語であり、いくつかのDBMS-上のトラブルを引き起こす可能性がありますがs。

+0

これは実際の名前がend_dateであることを示しています。ところで、私のproblemeは皆のためにおかげで解決される:) – user1202382

関連する問題