Solved

SQL Server 2000 - query help

Posted on 2014-01-14
10
550 Views
Last Modified: 2014-01-15
SQL Server 2000 - I have this query:

SELECT JobTitle, LastName + ',' + FirstName as 'Name', NUM , Shift
FROM [AIO_Test_Results].[dbo].[EmployeeInfo] Where [Group] = 'PRODUCTION'
and Dept = 'BRAZE' and TRAIN IS NULL and Jobtitle = 'LEAD'

LEAD    Name1   001060     1
LEAD    Name2   004545     2

 results attached.

I want result to appear in single line:

LEAD    Name1   001060     1  LEAD    Name2   004545     2



any idea?
Capture.PNG
0
Comment
Question by:mani_sai
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
10 Comments
 
LVL 16

Expert Comment

by:Surendra Nath
ID: 39780583
I think you are looking for generating report a two columunar report having both of them in the same line.... if that is the case then doing that in the SQL is not a good thing....

But to full fill your requirement you can do that like below, but remember this works only if you have two rows.

SELECT E1.JobTitle, E1.LastName + ',' + E1.FirstName as 'Name', E1.NUM , E1.Shift
,E2.JobTitle, E2.LastName + ',' + E2.FirstName as 'Name', E2.NUM , E2.Shift
FROM [AIO_Test_Results].[dbo].[EmployeeInfo] E1,
[AIO_Test_Results].[dbo].[EmployeeInfo]  E2
Where E1.[Group] = 'PRODUCTION'
and E1.Dept = 'BRAZE' 
and E1.TRAIN IS NULL 
and E1.Jobtitle = 'LEAD'
AND E2.[Group] = 'PRODUCTION'
and E2.Dept = 'BRAZE' 
and E2.TRAIN IS NULL 
and E2.Jobtitle = 'LEAD'
AND E1.LastName+','+E1.FirstName  = 'Landum,my..'
AND E2.LastName+','+E2.FirstName  = 'Jackson,bel..'

Open in new window

0
 
LVL 25

Accepted Solution

by:
chaau earned 500 total points
ID: 39780619
You can't use PIVOT, as it was introduced in SQL Server 2005. In your situation you need to use CASE with GROUP BY, like this:
SELECT JobTitle, 
MAX(CASE SHIFT WHEN 1 THEN LastName + ',' + FirstName END) as 'Name1', 
MAX(CASE SHIFT WHEN 1 THEN NUM END) AS NUM1, 
MAX(CASE SHIFT WHEN 1 THEN SHIFT END) AS SHIFT1, 
MAX(CASE SHIFT WHEN 2 THEN LastName + ',' + FirstName END) as 'Name2', 
MAX(CASE SHIFT WHEN 2 THEN NUM END) AS NUM2, 
MAX(CASE SHIFT WHEN 2 THEN SHIFT END) AS SHIFT2 
FROM [AIO_Test_Results].[dbo].[EmployeeInfo] Where [Group] = 'PRODUCTION'
and Dept = 'BRAZE' and TRAIN IS NULL and Jobtitle = 'LEAD'
GROUP BY Jobtitle

Open in new window

The query can be very easily extended to support more shifts
0
 
LVL 8

Author Comment

by:mani_sai
ID: 39780691
Thanks.

That worked for LEAD. I also need to display for employees:  (jobtitle <> LEAD)

SELECT JobTitle,
CASE SHIFT WHEN 1 THEN LastName + ',' + FirstName END as 'Name1',
CASE SHIFT WHEN 1 THEN NUM END AS NUM1,
CASE SHIFT WHEN 1 THEN SHIFT END AS SHIFT1,
CASE SHIFT WHEN 2 THEN LastName + ',' + FirstName END as 'Name2',
CASE SHIFT WHEN 2 THEN NUM END AS NUM2,
CASE SHIFT WHEN 2 THEN SHIFT END AS SHIFT2
FROM [AIO_Test_Results].[dbo].[EmployeeInfo] Where [Group] = 'PRODUCTION'
and Dept = 'BRAZE' and TRAIN IS NULL and Jobtitle <> 'LEAD'


I am getting results with null on some rows... is ti possible to eliminate NULL..

Results attached.
Capture.PNG
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 25

Expert Comment

by:chaau
ID: 39780715
What do you want to be displayed in place of NULLs?
0
 
LVL 8

Author Comment

by:mani_sai
ID: 39780732
I want to display like this:

please see attached file
Capture.PNG
0
 
LVL 25

Expert Comment

by:chaau
ID: 39780746
How do you know how to "marry" name1 with name2? Is there another field that allows you to identify that they belong to the same row?
0
 
LVL 8

Author Comment

by:mani_sai
ID: 39780758
There is no relation between Name1 and Name2.

First shift will contain any no of employee  based on the query (9 in this example.)

Second Shift will contain any no of employees again based on the query ( 6 in this example.)

thanks for looking into it.
0
 
LVL 25

Expert Comment

by:chaau
ID: 39780787
It is very hard to do in SQL Server 2000. How long are you stuck with this version for? Any plans to upgrade?
0
 
LVL 8

Author Comment

by:mani_sai
ID: 39782226
company is not planning to upgrade anytime soon...

Can we do it in multiple steps using temp tables....

we have minimal data on the tables, so performance is not a concern...
0
 
LVL 8

Author Comment

by:mani_sai
ID: 39782647
OK,  I got the results using temp table. Thanks for your help...
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Why is this different from all of the other step by step guides?  Because I make a living as a DBA and not as a writer and I lived through this experience. Defining the name: When I talk to people they say different names on this subject stuff l…
In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Viewers will learn how the fundamental information of how to create a table.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question