Click here to Skip to main content
15,915,733 members
Home / Discussions / Database
   

Database

 
GeneralRe: Viewing the contents of a .mdb (Access) database? Pin
IGx8922-Jan-04 3:43
IGx8922-Jan-04 3:43 
GeneralRe: Viewing the contents of a .mdb (Access) database? Pin
Mazdak21-Jan-04 7:56
Mazdak21-Jan-04 7:56 
GeneralConnectionTransact error Pin
Keith Worden21-Jan-04 1:15
Keith Worden21-Jan-04 1:15 
GeneralRe: ConnectionTransact error Pin
Mike Dimmick21-Jan-04 2:53
Mike Dimmick21-Jan-04 2:53 
GeneralRe: ConnectionTransact error Pin
Keith Worden21-Jan-04 3:00
Keith Worden21-Jan-04 3:00 
GeneralRe: ConnectionTransact error Pin
Mike Dimmick22-Jan-04 0:47
Mike Dimmick22-Jan-04 0:47 
GeneralCross Tab Queries in SQL Server Pin
-Dr_X-20-Jan-04 17:31
-Dr_X-20-Jan-04 17:31 
GeneralSOLVED: Cross Tab Queries in SQL Server Pin
-Dr_X-22-Jan-04 7:55
-Dr_X-22-Jan-04 7:55 
Not sure if this is the best way to execute a cross-tab query in SQL Server but it works. It is obviouly much faster than looping through each row/column to invert the dataset. If anyone else has any other ideas, feel free to post.

Thanks
Michael

<br />
drop table #1<br />
go<br />
SELECT DISTINCT TOP 3 -- Rows returned Will be determined by user<br />
	SC.SampleCondensateID, <br />
	IsNull(SC.TripNumber, '') + ' ' + convert(CHAR(10), SC.ShipDate, 110) as [ColumnName], <br />
	SC.ShipDate   --+ char(13)<br />
INTO 	#1<br />
FROM  	tblSampleCondensate SC,<br />
	tblSampleCondensateResult SCR,<br />
	tblSamplesCondensateType CT<br />
WHERE 	SC.SampleCondensateID = SCR.SampleCondensateID <br />
AND 	SC.CondensateTypeID *= CT.CondensateTypeID <br />
AND	(SC.Deleted = 0 or SC.Deleted IS NULL) <br />
<br />
<br />
/* SELECT * FROM #1 -- Results<br />
SampleCondensateID ColumnName        ShipDate  <br />
------------------ ----------------- -------------------<br />
37                 ABCD34 11-26-2003 2003-11-26 00:00:00<br />
38                 BCDE65 11-26-2003 2003-11-26 00:00:00<br />
54                 CDEF87 11-29-2003 2003-11-29 00:00:00<br />
*/<br />
<br />
DECLARE Properties CURSOR FAST_FORWARD FOR<br />
	Select SampleCondensateID, [ColumnName] <br />
	From #1<br />
	Order by ShipDate DESC<br />
	 <br />
Declare @SQL varchar(8000),<br />
	@InSQL varchar(200),<br />
	@ID varchar(10)<br />
SELECT 	@SQL='', @InSQL='', @ID=''<br />
<br />
Declare @ColumnName varchar(75),<br />
	@SampleCondensateID int<br />
<br />
Open Properties <br />
Fetch From Properties <br />
    Into @SampleCondensateID, @ColumnName<br />
<br />
-- Loop through each row in #1 to create the columns for the final query<br />
While @@Fetch_Status = 0<br />
BEGIN<br />
	-- Convert the Int value to a VarChar and trim extra spaces off<br />
	SELECT @ID = RTrim(Convert(varchar(10), @SampleCondensateID))<br />
	-- Build the In Clause<br />
	SELECT @InSQL = @InSQL + @ID +  + ','<br />
        -- Build the Column with [ColumnName] being its name<br />
	SELECT @SQL = @SQL + <br />
		+ ' SUM(CASE WHEN SampleCondensateID = ' + @ID <br />
		+ ' THEN Results ELSE 0 END) AS [' + @ColumnName + '], ' <br />
<br />
	Fetch From Properties<br />
	Into  @SampleCondensateID, @ColumnName<br />
END<br />
<br />
-- Close & Deallocate Cursor<br />
Close Properties<br />
Deallocate Properties<br />
<br />
-- Trim Commas From SQL Variables<br />
SELECT @InSQL = SubString(@InSQL, 1, DataLength(@InSQL) - 1)<br />
SELECT @SQL = SubString(@SQL, 1, DataLength(@SQL) - 2)<br />
<br />
-- Build & Execute the Select query<br />
Exec('Select TestProperty, ' + @SQL<br />
	+ 'From	tblSamplesTestProperty tp, <br />
		tblSampleCondensateResult cr<br />
	WHERE 	tp.TestPropertyID *= cr.AmineID<br />
	AND	cr.SampleCondensateID in ('<br />
	+	@InSQL<br />
	+ ') GROUP BY tp.TestProperty	Order By tp.TestProperty'<br />
     )<br />
<br />
/* Actual Query Statement<br />
<br />
SELECT  TestProperty,  <br />
        SUM(CASE WHEN SampleCondensateID = 55 THEN Results ELSE 0 END) AS [DEFG56 11-29-2003],  <br />
        SUM(CASE WHEN SampleCondensateID = 37 THEN Results ELSE 0 END) AS [ABCD34 11-26-2003],  <br />
        SUM(CASE WHEN SampleCondensateID = 38 THEN Results ELSE 0 END) AS [BCDE65 11-26-2003]<br />
FROM    tblSamplesTestProperty tp, <br />
        tblSampleCondensateResult cr<br />
WHERE   tp.TestPropertyID *= cr.AmineID<br />
AND     cr.SampleCondensateID in (54,37,38) <br />
GROUP BY tp.TestProperty	<br />
ORDER By tp.TestProperty<br />
<br />
*/<br />
/* Final Results<br />
<br />
TestProperty           CDEF87 11-29-2003 ABCD34 11-26-2003 BCDE65 11-26-2003<br />
---------------------- ----------------- ----------------- -----------------<br />
Cyclohexylamine        1.2340000          .0000000          .0000000<br />
Dibutylamine            .0000000         2.3400000         1.1110000<br />
Diethanolamine          .0000000          .0000000         3.0200000<br />
EDA+MEA                 .0000000         4.9100000          .0000000<br />
Morpholine              .0000000          .0000000          .0000000<br />
Triethanolamine         .0000000          .0000000          .0000000<br />
Unknowns As Morpholine 3.8820000         5.5500000         7.1920000<br />
<br />
*/<br />
<br />

GeneralFinding DB2 and Oracle Servers on the Network Pin
nahumtakum20-Jan-04 13:47
nahumtakum20-Jan-04 13:47 
GeneralParsing a .dbf file Pin
K. Shaffer20-Jan-04 7:13
K. Shaffer20-Jan-04 7:13 
GeneralRe: Parsing a .dbf file Pin
obelisk2922-Jan-04 13:11
obelisk2922-Jan-04 13:11 
GeneralC# to SQL Pin
Peter Greenall19-Jan-04 14:51
Peter Greenall19-Jan-04 14:51 
GeneralRe: C# to SQL Pin
Guillermo Rivero19-Jan-04 14:57
Guillermo Rivero19-Jan-04 14:57 
GeneralRe: C# to SQL Pin
Peter Greenall19-Jan-04 15:05
Peter Greenall19-Jan-04 15:05 
GeneralRe: C# to SQL Pin
Guillermo Rivero19-Jan-04 15:20
Guillermo Rivero19-Jan-04 15:20 
GeneralRe: C# to SQL Pin
Mazdak19-Jan-04 20:43
Mazdak19-Jan-04 20:43 
GeneralRe: C# to SQL Pin
Peter Greenall20-Jan-04 1:06
Peter Greenall20-Jan-04 1:06 
GeneralControlling Multiple MDB files from one MDW file... Pin
Jamie Nordmeyer19-Jan-04 8:36
Jamie Nordmeyer19-Jan-04 8:36 
GeneralRe: Controlling Multiple MDB files from one MDW file... Pin
gpa200022-Jan-04 0:49
gpa200022-Jan-04 0:49 
Generalread excel files Pin
blames17-Jan-04 21:49
blames17-Jan-04 21:49 
GeneralRe: read excel files Pin
Mazdak17-Jan-04 22:02
Mazdak17-Jan-04 22:02 
GeneralConnect to DB at web server Pin
Mohamad Al Husseiny17-Jan-04 19:30
Mohamad Al Husseiny17-Jan-04 19:30 
GeneralRe: Connect to DB at web server Pin
Mazdak17-Jan-04 22:03
Mazdak17-Jan-04 22:03 
GeneralRe: Connect to DB at web server Pin
Mohamad Al Husseiny17-Jan-04 23:24
Mohamad Al Husseiny17-Jan-04 23:24 
GeneralRe: Listbox Problems Pin
Colin Angus Mackay17-Jan-04 15:36
Colin Angus Mackay17-Jan-04 15:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.