SQL Server Forums
Profile | Register | 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
 New Topic  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
17681 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  
 New 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.05 seconds. Powered By: Snitz Forums 2000