Please start any new threads on our new site at http://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

Our new SQL Server Forums are live! Come on over! We've restricted the ability to create new threads on these forums.

SQL Server Forums
Profile | Active Topics | Members | Search | Forum FAQ
 
Register Now and get your question answered!
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 SQL Server 2008 Forums
 Transact-SQL (2008)
 TRIANGLE MULTIPLICATION
 Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

rutvij1984
Starting Member

USA
7 Posts

Posted - 08/19/2010 :  23:41:17  Show Profile  Reply with Quote
Print a triangular mulitplication table for 0 through 9
/*    E.g.
       0
       0 1
       0 2 4
       0 3 6 9
       0 4 8 12 16
       0 5 10 15 20 25
       0 6 12 18 24 30 36
       0 7 14 21 28 35 42 49
       0 8 16 24 32 40 48 56 64
       0 9 18 27 36 45 54 63 72 81
 */I DID THIS WITH STATEMENTS SHOWN BELOW. IT IS SHOWING THE CORRECT OUTPUT BUT NOT IN THE TRIANGLE FORM. ANY IDEA?

DECLARE @CNT INT
DECLARE @I INT
DECLARE @ANS INT
SET @CNT = 0
WHILE @CNT < 10
BEGIN
SET @I = 0
WHILE @I <= @CNT
BEGIN
SET @ANS = @I * @CNT
PRINT CAST(@ANS AS CHAR) + ' '
SET @I = @I + 1
END
SET @CNT = @CNT + 1
END

rnj

khtan
In (Som, Ni, Yak)

Singapore
17689 Posts

Posted - 08/20/2010 :  00:54:33  Show Profile  Reply with Quote

; with numbers
as
(
	select	num = 0

	union all

	select	num = num + 1
	from	numbers
	where	num	< 9
),
result
as
(
	select	num1 = n.num, num2 = m.num, m.multiply
	from	numbers n
		cross apply
		(
			select	x.num, multiply = n.num * x.num
			from	numbers x
			where	x.num	<= n.num
		) m
)
select	[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]
from	result
	pivot
	(
		sum(multiply)
		for	num2 in ([0], [1], [2], [3], [4], [5], [6], [7], [8], [9])
	) p
/*
0           1           2           3           4           5           6           7           8           9           
----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- 
0           NULL        NULL        NULL        NULL        NULL        NULL        NULL        NULL        NULL
0           1           NULL        NULL        NULL        NULL        NULL        NULL        NULL        NULL
0           2           4           NULL        NULL        NULL        NULL        NULL        NULL        NULL
0           3           6           9           NULL        NULL        NULL        NULL        NULL        NULL
0           4           8           12          16          NULL        NULL        NULL        NULL        NULL
0           5           10          15          20          25          NULL        NULL        NULL        NULL
0           6           12          18          24          30          36          NULL        NULL        NULL
0           7           14          21          28          35          42          49          NULL        NULL
0           8           16          24          32          40          48          56          64          NULL
0           9           18          27          36          45          54          63          72          81

(10 row(s) affected)
*/



KH
Time is always against us

Go to Top of Page
  Previous Topic Topic Next Topic  
 Reply to Topic
 Printer Friendly
Jump To:
SQL Server Forums © 2000-2009 SQLTeam Publishing, LLC Go To Top Of Page
This page was generated in 0.09 seconds. Powered By: Snitz Forums 2000