Monday, March 12, 2012

how to get rowcount from table

Hi guys, can anybody help to solve this problem.


set @.count=0
Insert into User_t (userid, counter) select userid, count+1 from resultset is not working

0/p: bhasker 1
bhanu 1
kishore 1


but o/p must be

bhasker 1
bhanu 2
kishore 3

You can't do it with a query like that. Here are two alternatives

1. Declare the counter field as an identity integer (it'll increment by one each time)

or

2. cursor around the resultset, inserting one record at a time and incrementing by one within the loop.

|||

Here's a neat trick.

Create a table variable with an additional column to store the counter value. And insert into the table from your SELECT. do an UPDATE on the Table variable as follows.

Declare @.TTable (useridvarchar(10), Counterint)Insert into @.TSelect'bhasker',0unionallSelect'bhanu',0unionallSelect'kishore',0select *from @.tDeclare @.iintSet @.i = 0Update @.TSet @.i = Counter = @.i + 1Select *from @.t
|||

Have a look at this. But I think you can do somthing like this.

http://support.microsoft.com/kb/186133

select rank=count(*), a1.name from addresses a1, addresses a2
where a1.name >= a2.name
group by a1.name
order by rank


|||

My exact question is:

INSERTINTO UserChargeDetail(UserID, Offering, Counter,OfferingDetail,

Comment, ValueInput, CostCenterInput,Month)

SELECT UserID, tierOrder,rowsequence,NULL,NULL, 1,'',GetDate()FROM CostCenter

how do I get rowsequence

rowsequence: 1,2,3,4,5

|||

You were shown at least 2 or more working solutions on getting the sequence number. Please put some effort in trying out those solutions. If you are still unable to resolve your issue, please post what you have tried so we can guide you into solving the issue.

No comments:

Post a Comment