"Subquery returned more than 1 value. This is not permitted..." error

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Barno77
    New Member
    • Oct 2007
    • 22

    "Subquery returned more than 1 value. This is not permitted..." error

    Basically I have an app with 3 buttons that populate a Gridview and all but 1 button work and the one that doesn't work brings back this error.

    any ideas?
    Last edited by jhardman; Apr 11 '08, 07:51 PM. Reason: moved to .Net forum. ASP forum is for "classic" ASP
  • deric
    New Member
    • Dec 2007
    • 92

    #2
    I believe it is an error in your SQL query... Please check your SQL statement for that particular button. If you'll encounter trouble with your SQL quries, please post it on the appropriate SQL forum..

    Comment

    • DrBunchman
      Recognized Expert Contributor
      • Jan 2008
      • 979

      #3
      Yes, this is a SQL error. If you print the SQL here that's generated by the click of this button I'll take a look at it for you.

      Dr B

      Comment

      • Barno77
        New Member
        • Oct 2007
        • 22

        #4
        Originally posted by DrBunchman
        Yes, this is a SQL error. If you print the SQL here that's generated by the click of this button I'll take a look at it for you.

        Dr B
        here's the sql query:
        Code:
           
        SELECT 
        SO2_SOEntryDetailLine.SalesOrderNumber, 
        SO1_SOEntryHeader.Division, 
        SO1_SOEntryHeader.CustomerNumber, 
        SO1_SOEntryHeader.BillToName, 
        CA_OPS_PICKSEQS.LastPickSeq AS [Pick Ticket], 
        SO2_SOEntryDetailLine.ItemNumber, 
        SO2_SOEntryDetailLine.WhseCode, 
        SO2_SOEntryDetailLine.LineIndex, 
        SO1_SOEntryHeader.OrderStatus, 
        CA_APICK_QTYS.QtyOrdered, 
        CA_APICK_QTYS.QtyAvailable + CA_APICK_QTYS.QtyLoadAvailable AS QtyAvailable, 
        CA_APICK_QTYS.QtyPicked AS QtyShipped, 
        ISNULL(CA_APICK_LOAD_QTYS.TicketRelease, 0) AS TicketRelease, 
        CA_OPS_PICKSEQS.LastPickDateTime, 
        CA_APICK_QTYS.PromiseDate, 
        SO_90_UDF_Sales_Order.CB_UDF_SOH_OK, 
        SO2_SOEntryDetailLine.Extension 
        FROM 
        CA_APICK_LOAD_QTYS 
        RIGHT OUTER JOIN CA_APICK_QTYS ON CA_APICK_LOAD_QTYS.WhseCode = CA_APICK_QTYS.WhseCode AND CA_APICK_LOAD_QTYS.ItemNumber = CA_APICK_QTYS.ItemNumber AND CA_APICK_LOAD_QTYS.SalesOrderNumber = CA_APICK_QTYS.SalesOrderNumber 
        FULL OUTER JOIN SO2_SOEntryDetailLine 
        INNER JOIN SO1_SOEntryHeader ON SO2_SOEntryDetailLine.SalesOrderNumber = SO1_SOEntryHeader.SalesOrderNumber 
        LEFT OUTER JOIN CA_OPS_PICKSEQS ON SO2_SOEntryDetailLine.WhseCode = CA_OPS_PICKSEQS.WhseCode AND SO2_SOEntryDetailLine.SalesOrderNumber = CA_OPS_PICKSEQS.SaleOrderNumber ON CA_APICK_QTYS.SalesOrderNumber = SO2_SOEntryDetailLine.SalesOrderNumber AND CA_APICK_QTYS.LineIndex = SO2_SOEntryDetailLine.LineIndex 
        LEFT OUTER JOIN SO_90_UDF_Sales_Order ON CA_APICK_QTYS.SalesOrderNumber = SO_90_UDF_Sales_Order.SalesOrderNumber 
        WHERE 
        (SO2_SOEntryDetailLine.ItemNumber IS NOT NULL)
        Last edited by DrBunchman; Apr 11 '08, 12:06 PM. Reason: Added code tags - note the # button

        Comment

        • DrBunchman
          Recognized Expert Contributor
          • Jan 2008
          • 979

          #5
          I can't see an obvious problem - have you got a Query Analyzer of something like that which you can run the query in?

          If so then run it in there and it should give you the line that's causing the error.

          Dr B

          Comment

          • jhardman
            Recognized Expert Specialist
            • Jan 2007
            • 3405

            #6
            Originally posted by Barno77
            here's the sql query:
            On a scale of 1 to 10, I would rate this ~8.5 of the "most complex SQL statements I've ever seen". I think the error is line 22 where you don't specify how SO2_SOEntryDeta ilLine joins. Was this generated by visual studio, or did you come up with it yourself? Exactly what does it pull up? Would it be OK to simplify it? for example, if you were OK with just inner joins, you could say:
            Code:
                  SELECT * FROM SO2_SOEntryDetailLine, SO1_SOEntryHeader,
                  CA_OPS_PICKSEQS, CA_APICK_QTYS, CA_APICK_LOAD_QTYS, 
                  SO_90_UDF_Sales_Order, SO2_SOEntryDetailLine
                  WHERE CA_APICK_LOAD_QTYS.WhseCode = CA_APICK_QTYS.WhseCode 
                  AND CA_APICK_LOAD_QTYS.ItemNumber = CA_APICK_QTYS.ItemNumber 
                  AND CA_APICK_LOAD_QTYS.SalesOrderNumber = CA_APICK_QTYS.SalesOrderNumber
                  AND SO2_SOEntryDetailLine.SalesOrderNumber = SO1_SOEntryHeader.SalesOrderNumber
                  AND SO2_SOEntryDetailLine.WhseCode = CA_OPS_PICKSEQS.WhseCode 
                  AND SO2_SOEntryDetailLine.SalesOrderNumber = CA_OPS_PICKSEQS.SaleOrderNumber 
                  AND CA_APICK_QTYS.SalesOrderNumber = SO2_SOEntryDetailLine.SalesOrderNumber 
                  AND CA_APICK_QTYS.LineIndex = SO2_SOEntryDetailLine.LineIndex
                  AND CA_APICK_QTYS.SalesOrderNumber = SO_90_UDF_Sales_Order.SalesOrderNumber
                  AND (SO2_SOEntryDetailLine.ItemNumber IS NOT NULL)

            Comment

            Working...