Transact-SQL (TSQL) is the extended SQL dialect used in Microsoft SQL Server and Sybase. Please also tag with either [sql-server] or [sybase].
6
votes
1answer
32 views
Aggregating Conditional Sums
I have recently forked/rewritten a SEDE query (here) that aims at figuring out where a site stands in terms of avid users and distribution of reputation scores, compared to a specific target (number ...
6
votes
2answers
110 views
Return the top 5 of each kind of record
I have this currently working code, but it's extremely slow. I'm talking almost an hour to execute, if it executes at all (our server isn't all that great to start with). Is there a better way to ...
13
votes
1answer
132 views
Calculating Lost Reputation
A discussion arose not long ago on the 2nd Monitor about how much reputation has been lost due to the reputation caps. There are a number of queries on the SEDE which try to address this:
A Users ...
10
votes
3answers
127 views
SEDE Top Sponsors
I wanted to see the site's top sponsors - users that have paid bounties on questions that they didn't own.
I started off with a bounty-related existing query, selected the details into a subquery, ...
4
votes
3answers
81 views
Remove duplication in SELECT statement
Say I have the following SQL:
SELECT
amount,
amount*.1,
(amount*1)+3,
((amount*1)+3)/2,
(((amount*1)+3)/2)+37
FROM table
Instead of repeating that identical code every time, I ...
3
votes
1answer
90 views
Query too slow - Optimization
I am having an issue with the following query returning results a bit too slow and I suspect I am missing something basic. My initial guess is the 'CASE' statement is taking too long to process its ...
3
votes
2answers
89 views
SQL query clustered with repeated function calls
I have the following SQL query that computes for every date the week it falls in (a week begins on Sunday and ends on Saturday):
SELECT EntryDate
,CAST(DATEADD(DAY, 1-DATEPART(WEEKDAY, ...
1
vote
2answers
100 views
Review single step approach, rather than multiple temp tables
Overall the intent is to consolidate individual sales transactions to total debits/credits summing up the totals by year and month--retaining a running balance from start to end. This code uses ...
1
vote
2answers
38 views
Store Procedure Timing out sometimes?
Can someone please review my this Store Procedure which is timing out?
ALTER PROCEDURE [dbo].[Insertorupdatedevicecatalog]
(@OS NVARCHAR(50)
...
2
votes
2answers
162 views
Selecting the number of working days minus weekend days and UK bank holidays
I am fairly new to coding TSQL script and am looking for some second view on my script.
The goal here is to to pull in some data and amongst that data to show a field with a counting the number of ...
1
vote
1answer
118 views
DRY cursors: preventing T-SQL's FETCH statement from being repeated
Please assume I've exhaustively tried to come up with a set-based solution to my T-SQL problem, and that I need to use a cursor. The following is the typical1 boilerplate for a T-SQL cursor:
...
3
votes
1answer
108 views
SQL Server 'Execute As'/Revert pattern in a 'Try/Catch' Block
I wish to ensure I am using the "best" pattern when using an Execute As/Revert from within a Try/Catch block on SQL Server 2012. The below code "seems" to behave correctly... Am I missing anything or ...
1
vote
2answers
102 views
How can I make this WHERE clause more readable?
Without changing the semantics and performance, how can I make this where clause more readable?
where
(@Category = 'all' or
(@Category = 'omitted' and Category is null) or
(@Category = ...
2
votes
1answer
108 views
How can I improve the following stored procedure?
I have created the following stored procedure which duplicates a record in a table and also all its related records in other tables however since I am a newbie to SQL I would appreciate it if someone ...
3
votes
1answer
2k views
Returning Key Values from Stored Procedures
I wonder which is better practice when I need to return the primary key value of a newly inserted record from a SQL stored procedure. Consider the following implementations:
As Return Value
CREATE ...
-1
votes
1answer
232 views
Using xp_cmdshell
Am I doing it fine?? Its only for setup not executed repeatedly
CREATE TABLE #temp
(
id INT IDENTITY(1, 1),
name_file VARCHAR(500),
depth_tree ...
1
vote
0answers
125 views
T-SQL BFS center node of undirected graph [closed]
I am trying to answer this question by using a breadth-first search from each node of the graph represented by the tables mapSolarSystems and mapSolarSystemJumps in the data dump at ...
0
votes
1answer
269 views
Daily, Weekly, Monthly Individual Tech time in task Repoert
I'm trying to create daily, monthly and weekly SQL Query report to our services time we spent int task and total billing time just want to see if I'm on right track
GO
--Daily
SELECT ...
1
vote
1answer
320 views
Sql query to obtain totals and subtotals
I'm interested in knowing if there's a better/cleaner/more efficient way, to obtain totals and subtotals within a query, than my solution below.
The query works fine but I'm just intrigued to know if ...
3
votes
1answer
171 views
Is it necessary to replace this cursor in SQL Server 2005?
The Problem
I have a cursor that I am trying to replace (perhaps unnecessarily) in an attempt to clean up a stored procedure. Essentially what it is doing is counting each note for each member in a ...
6
votes
1answer
1k views
Splitting an address into fields in SQL
I have the following code to split an address string in T-SQL. Excepting the unit number, which is already in its own field, it would affect too much of the application to split the address into ...
3
votes
2answers
162 views
Any way to speed up this UPDATE?
SQL:
CREATE FUNCTION dbo.fnRandomForeNames ()
RETURNS VARCHAR(50)
AS
BEGIN
RETURN (
SELECT TOP 1 [FirstName]
FROM [tmp_ForeNames]
ORDER BY (SELECT new_id from ...
1
vote
1answer
170 views
Generic PHP function for making a struct out of multiple resultsets from a stored procedure call
The stored procedures must return their first resultset in the form:
(
[index] int,
[id] varchar(50)
)
where
[index] is 0,1,2,3,... and
[id] is the name of the struct.
As long as ...
0
votes
1answer
2k views
Data Structure for Categories and SubCategories
I have this relationship:
Many Objects to One Category
One Category to Many SubCategories
I am looking for the best way to store this in my Relational Database? Here were some of the ways I was ...
3
votes
1answer
134 views
Getting rows from several tables where one table doesn't include the rows from the next tables
I have some entity that is spread across three tables.
I have to get in a single result the following values:
All the values that are in the first table but not on the second nor the third.
All ...
6
votes
1answer
2k views
Conditional Create: must be the only statement in the batch
I only want to create this SQL function if the dependent Assembly exists.
I can do it using dynamic SQL, but it seems messy and I lose syntax checking (in
management studio). This function's ...
1
vote
1answer
126 views
List of students with their classname in current year
I have 3 tables: students and classes and years. In a forth table called StudentsInClass, I'm saving students classes in each year . Now I want to show a list of students with their className in ...
2
votes
1answer
113 views
Refactor my simple SQL Statement
I have the following SQL statement that I think could be improved in areas (I believe there may be a way to use where over having, but I'm not sure how and I'm sure there's a way to reference the last ...
4
votes
1answer
145 views
output parameter and exists condition
I want to return title of a record if exists or the word 'invalid' if not.
@ID int ,
@Title nvarchar(50) output
...
if exists(select * from MyTable where ID=@ID)
select @Title = ...
1
vote
1answer
959 views
Query to get number of related records in 2 child tables
I have a category table (brands) and 2 other tables (Pens and Pencils) that have parent-child relation with this table through a field CatID. Now I want to get a list of Brandsand number of records ...
2
votes
1answer
79 views
Critique my SQL
Table Structure
ApprovalOrder int
EntityCode varchar
CostCentre varchar
DelegationCode varchar
ProjectCode varchar
RoleGroup varchar
Position varchar
...
3
votes
4answers
309 views
Shifting records in SQL Database while sorting with algorithm
I have a table in a SQL Server database, which holds information of some images, and the relevant gallery of them. The columns are like:
ImageId, GalleryId, Order
I have a unique key on ...
1
vote
2answers
165 views
SQL - Refactoring - How can this be done better?
I've been working on a semi-awkward query in that it uses a very high number of functions given its relatively small size and scope. I was hoping to get some feedback on any ways I could format or ...
2
votes
2answers
177 views
SQL - How's my formatting?
I'm somewhat new to SQL (using it in the past but only being exposed to it heavily in my current role). Unfortunately nobody at my current company has really given me any advice on formatting. How can ...
5
votes
4answers
214 views
I'm looking for comments (good or bad) and suggestions (good only) on a T-SQL statement to breakdown UserAgent information
I have a table that contains the UserAgent string and a Count of how many times its seen. the T-SQL below is used to give a breakdown of what browsers are seen and how often then are seen.
SELECT
...
3
votes
3answers
234 views
T-SQL transaction
Can someone help me refactor this code so in case of an error nothing gets persisted to the db? this doesn't work when an error occurs.
use mydb
Begin Transaction
SET IDENTITY_INSERT table1 On
...
2
votes
3answers
319 views
Reduce the code in a WHERE clause without using dynamic SQL
How can I write the following T-SQL query part in a shorter way without using dynamic SQL?
WHERE
( (@Max IS NULL OR @Type <> 'Products')
OR (@Max IS NOT NULL AND @Type = 'Products'
...
4
votes
1answer
406 views
Tame this Beast: TSQL Unpivot
Okay... here's the beast:
SELECT
SUBSTRING(DischDate, 7, 4) + SUBSTRING(DischDate, 1, 2) as YYYYMM
,Type
,SubType
,Diags
,Count(*) as Count
,SUM(Charges) as Charges
...