2016-09-29 7 views
0

は、私たちは果物をカウントし、そのような別のフィールド(couNum)を追加することができますどのようにこのアクセステーブルアクセスクエリー数が同じレコードであれば新しい行に追加されますか?例について

fruit person   price 
apple jhon   5 
apple mary   12 
pear  alison   10 
grape kim    12 
grape kim    24 
grape jack   9 

がありますか?

couNum  fruit person   price 
    1  apple jhon   5 
    2  apple mary   12 
    1  pear  alison   10 
    1  grape kim    12 
    2  grape kim    24 
    3  grape jack   9 

ありがとうございます。あなたは、単に使用することになり、他のほとんどのデータベースで

select t.*, 
     (select count(*) 
     from t as t2 
     where t2.fruit = t.fruit and t2.person <= t.person 
     ) as couNum 
from t; 

:あなたは各行に対して一意の列を持っていると仮定して -

+0

コードをフォーマットするにはcontrol-kを使用するか、スペースを4つ追加して –

+0

にアクセスする必要があります。 – Karakus

+0

私は関係述語(テーブルの各行が意味するもの)を理解するのに苦労しています。 '{grape、kim、12}'は '{grape、kim、24}'とどう違うのですか?金さんは売っているブドウ毎に2回の請求をしています。 – onedaywhen

答えて

1

これはMS Accessで行うのは痛いですが、サブクエリでそれを行うことができますrow_number()。 SQLを学び、使用するデータベースを選択する必要がある場合は、Postgres、MySQL、SQL Server、Oracleなどの最新のデータベースにアクセスしてください。

+0

ありがとうございました。魅力のような仕事 – Karakus

+0

"これはMS Accessでやるのは苦痛です" - それはそれを見ます。 IIRCアクセスには素晴らしいレポートツールがあります。これは報告書としての苦痛が少ないでしょうか? – onedaywhen

関連する問題