Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3338848
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 18, 20262026-05-18T00:25:27+00:00 2026-05-18T00:25:27+00:00

I have a SQL stored procedure that will return only one record. However, in

  • 0

I have a SQL stored procedure that will return only one record. However, in that proc, is a subquery, that can return more then one rows. I believe it might be best design the sub query to return one row of multiple columns, instead of multiple rows.

How would I write out the sub query so it returns columns.
Currently the query is:

SET @Pkg_Status = (Select lf.name, edi.Date from EdiPackage edi, Labelfeed lf
     Where edi.orderID = @OrderID
     AND edi.code = lf.code
     AND lf.labelID = 'EDIStage')  

A sample resultset from the above query would be:

Column 1             Column 2  
Field1.Value1     Field2.Value1  
Field1.Value2     Field2.Value2  
Field1.Value3     Field2.Value3  

Instead, I would like the results to be:

Column 1      | Column2       | Column3       | Column4      |  Column 5       | Column 6  
Field1.Value1 | Field2.Value1 | Field1.Value2 | Field2.Value2 | Field1.Value3 | Field2.Value3

How can this be done?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-18T00:25:28+00:00Added an answer on May 18, 2026 at 12:25 am

    First, you should use the ISO Join keyword when joining two tables instead of separating the tables via comma and then “joining” them in the Where clause. So our query would be:

    Select LF.name, EDI.Date 
    From EdiPackage As EDI
        Join LabelFeed As LF
            On LF.Code = EDI.Code
    Where EDI.orderID = @OrderID
        And LF.labelID = 'EDIStage'
    

    Second, your original example is setting the results of a query to a variable. That will not work with multiple columns or rows. At best, SQL might simply take the first column in your subquery. Lastly, what it sounds like you seek is something of a crosstab. We would need to see the data, but you can achieve what you want by doing something like so:

    Select Min( Case When LF.Name = 'Value1' Then LF.Name End ) As Col1
        , Min( Case When LF.Name = 'Value1' Then EDI.Date End ) As Col2
        , Min( Case When LF.Name = 'Value2' Then LF.Name End ) As Col3
        , Min( Case When LF.Name = 'Value2' Then EDI.Date End ) As Col4
        , Min( Case When LF.Name = 'Value3' Then LF.Name End ) As Col5
        , Min( Case When LF.Name = 'Value3' Then EDI.Date End ) As Col6
    From EdiPackage As EDI
        Join LabelFeed As LF
            On LF.Code = EDI.Code
    Where EDI.orderID = @OrderID
        And LF.labelID = 'EDIStage'
    

    In this case, you would replace ‘Value1’, ‘Value2’ and ‘Value3’ with the data values that should be used to differentiate one column from another.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We have the following simple Stored Procedure that runs as an overnight SQL server
I have a very long-running stored procedure in SQL Server 2005 that I'm trying
I have stored procedures in SQL Server T-SQL that are called from .NET within
I'm migrating a TSQL stored procedure to PL/SQL and have encountered a problem -
I have a result set in MS-SQL within a stored procedure, and lets say
I have a stored procedure in SQL 2005. The Stored Procedure is actually creating
I have used LINQ to SQL with a update stored procedure to update databases
Hai Techies, I have some stored procedure which was written in SQL server.Now i
I am using SQL server 2000. I have a stored procedure sitting on machine
We have a situation where our application calls some stored procedures on a sql

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.