Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Database & SysAdmin
  3. Database
  4. the order by clause is invalid in views inline functions ...

the order by clause is invalid in views inline functions ...

Scheduled Pinned Locked Moved Database
asp-nethelpquestion
9 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Majid Shahabfar
    wrote on last edited by
    #1

    SELECT PD_Users.FirstName as FirstName, PD_Users.LastName as LastName, PD_Users.UserName as UserName, PD_Users.CityID as CityID,
    PD_Cities.CityName as CityName, aspnet_Membership.CreateDate as CreateDate,
    (SELECT COUNT(*) FROM PD_Articles WHERE (PD_Users.UserName = UserName)) AS ArticleCount,
    (SELECT COUNT(*) FROM PD_News WHERE (PD_Users.UserName = SenderName AND IsDevNews = 1)) AS NewsCount,
    (SELECT COUNT(*) FROM PD_News WHERE (PD_Users.UserName = SenderName AND IsDevNews = 0)) AS ITNewsCount,
    (SELECT COUNT(*) FROM PD_ForumMessage WHERE (PD_Users.UserName = UserName)) AS MessageCount,
    CASE WHEN aspnet_Users.LastActivityDate > @DateActive THEN cast(1 as bit) ELSE cast(0 as bit) end AS IsOnline,
    ROW_NUMBER() OVER (ORDER BY aspnet_Membership.CreateDate ) AS RowNumber

    FROM	aspnet\_Users INNER JOIN aspnet\_Membership ON aspnet\_Users.UserId = aspnet\_Membership.UserId INNER JOIN
                      PD\_Users INNER JOIN PD\_Cities ON PD\_Users.CityID = PD\_Cities.CityId ON aspnet\_Users.UserName = PD\_Users.UserName
    WHERE (@LastName = PD\_Users.LastName  OR (@LastName = '' AND 1=1))    
          AND (@UserName = PD\_Users.UserName OR (@UserName = '' AND 1=1))
          AND (@CityID = PD\_Users.CityID OR (@CityID = -1 AND 1=1))
          AND (@UserStatus = (CASE WHEN aspnet\_Users.LastActivityDate > @DateActive THEN cast(1 as bit) ELSE cast(0 as bit) end) OR (@UserStatus = 0 AND 1=1))                
     ORDER BY PD\_Users.FirstName DESC     
    

    I got the error: the order by clause is invalid in views inline functions ... do you have any idea?

    I C S 3 Replies Last reply
    0
    • M Majid Shahabfar

      SELECT PD_Users.FirstName as FirstName, PD_Users.LastName as LastName, PD_Users.UserName as UserName, PD_Users.CityID as CityID,
      PD_Cities.CityName as CityName, aspnet_Membership.CreateDate as CreateDate,
      (SELECT COUNT(*) FROM PD_Articles WHERE (PD_Users.UserName = UserName)) AS ArticleCount,
      (SELECT COUNT(*) FROM PD_News WHERE (PD_Users.UserName = SenderName AND IsDevNews = 1)) AS NewsCount,
      (SELECT COUNT(*) FROM PD_News WHERE (PD_Users.UserName = SenderName AND IsDevNews = 0)) AS ITNewsCount,
      (SELECT COUNT(*) FROM PD_ForumMessage WHERE (PD_Users.UserName = UserName)) AS MessageCount,
      CASE WHEN aspnet_Users.LastActivityDate > @DateActive THEN cast(1 as bit) ELSE cast(0 as bit) end AS IsOnline,
      ROW_NUMBER() OVER (ORDER BY aspnet_Membership.CreateDate ) AS RowNumber

      FROM	aspnet\_Users INNER JOIN aspnet\_Membership ON aspnet\_Users.UserId = aspnet\_Membership.UserId INNER JOIN
                        PD\_Users INNER JOIN PD\_Cities ON PD\_Users.CityID = PD\_Cities.CityId ON aspnet\_Users.UserName = PD\_Users.UserName
      WHERE (@LastName = PD\_Users.LastName  OR (@LastName = '' AND 1=1))    
            AND (@UserName = PD\_Users.UserName OR (@UserName = '' AND 1=1))
            AND (@CityID = PD\_Users.CityID OR (@CityID = -1 AND 1=1))
            AND (@UserStatus = (CASE WHEN aspnet\_Users.LastActivityDate > @DateActive THEN cast(1 as bit) ELSE cast(0 as bit) end) OR (@UserStatus = 0 AND 1=1))                
       ORDER BY PD\_Users.FirstName DESC     
      

      I got the error: the order by clause is invalid in views inline functions ... do you have any idea?

      I Offline
      I Offline
      i j russell
      wrote on last edited by
      #2

      Have you tried typing the error message into Google? I did and I got 94,000 results; Maybe one of those could be of help?

      1 Reply Last reply
      0
      • M Majid Shahabfar

        SELECT PD_Users.FirstName as FirstName, PD_Users.LastName as LastName, PD_Users.UserName as UserName, PD_Users.CityID as CityID,
        PD_Cities.CityName as CityName, aspnet_Membership.CreateDate as CreateDate,
        (SELECT COUNT(*) FROM PD_Articles WHERE (PD_Users.UserName = UserName)) AS ArticleCount,
        (SELECT COUNT(*) FROM PD_News WHERE (PD_Users.UserName = SenderName AND IsDevNews = 1)) AS NewsCount,
        (SELECT COUNT(*) FROM PD_News WHERE (PD_Users.UserName = SenderName AND IsDevNews = 0)) AS ITNewsCount,
        (SELECT COUNT(*) FROM PD_ForumMessage WHERE (PD_Users.UserName = UserName)) AS MessageCount,
        CASE WHEN aspnet_Users.LastActivityDate > @DateActive THEN cast(1 as bit) ELSE cast(0 as bit) end AS IsOnline,
        ROW_NUMBER() OVER (ORDER BY aspnet_Membership.CreateDate ) AS RowNumber

        FROM	aspnet\_Users INNER JOIN aspnet\_Membership ON aspnet\_Users.UserId = aspnet\_Membership.UserId INNER JOIN
                          PD\_Users INNER JOIN PD\_Cities ON PD\_Users.CityID = PD\_Cities.CityId ON aspnet\_Users.UserName = PD\_Users.UserName
        WHERE (@LastName = PD\_Users.LastName  OR (@LastName = '' AND 1=1))    
              AND (@UserName = PD\_Users.UserName OR (@UserName = '' AND 1=1))
              AND (@CityID = PD\_Users.CityID OR (@CityID = -1 AND 1=1))
              AND (@UserStatus = (CASE WHEN aspnet\_Users.LastActivityDate > @DateActive THEN cast(1 as bit) ELSE cast(0 as bit) end) OR (@UserStatus = 0 AND 1=1))                
         ORDER BY PD\_Users.FirstName DESC     
        

        I got the error: the order by clause is invalid in views inline functions ... do you have any idea?

        C Offline
        C Offline
        Chris Meech
        wrote on last edited by
        #3

        What exactly are you trying to order? :confused: :confused:

        Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]

        M 1 Reply Last reply
        0
        • M Majid Shahabfar

          SELECT PD_Users.FirstName as FirstName, PD_Users.LastName as LastName, PD_Users.UserName as UserName, PD_Users.CityID as CityID,
          PD_Cities.CityName as CityName, aspnet_Membership.CreateDate as CreateDate,
          (SELECT COUNT(*) FROM PD_Articles WHERE (PD_Users.UserName = UserName)) AS ArticleCount,
          (SELECT COUNT(*) FROM PD_News WHERE (PD_Users.UserName = SenderName AND IsDevNews = 1)) AS NewsCount,
          (SELECT COUNT(*) FROM PD_News WHERE (PD_Users.UserName = SenderName AND IsDevNews = 0)) AS ITNewsCount,
          (SELECT COUNT(*) FROM PD_ForumMessage WHERE (PD_Users.UserName = UserName)) AS MessageCount,
          CASE WHEN aspnet_Users.LastActivityDate > @DateActive THEN cast(1 as bit) ELSE cast(0 as bit) end AS IsOnline,
          ROW_NUMBER() OVER (ORDER BY aspnet_Membership.CreateDate ) AS RowNumber

          FROM	aspnet\_Users INNER JOIN aspnet\_Membership ON aspnet\_Users.UserId = aspnet\_Membership.UserId INNER JOIN
                            PD\_Users INNER JOIN PD\_Cities ON PD\_Users.CityID = PD\_Cities.CityId ON aspnet\_Users.UserName = PD\_Users.UserName
          WHERE (@LastName = PD\_Users.LastName  OR (@LastName = '' AND 1=1))    
                AND (@UserName = PD\_Users.UserName OR (@UserName = '' AND 1=1))
                AND (@CityID = PD\_Users.CityID OR (@CityID = -1 AND 1=1))
                AND (@UserStatus = (CASE WHEN aspnet\_Users.LastActivityDate > @DateActive THEN cast(1 as bit) ELSE cast(0 as bit) end) OR (@UserStatus = 0 AND 1=1))                
           ORDER BY PD\_Users.FirstName DESC     
          

          I got the error: the order by clause is invalid in views inline functions ... do you have any idea?

          S Offline
          S Offline
          SilimSayo
          wrote on last edited by
          #4

          I think you should not try to order intermediate results. You should only end-results.

          M 1 Reply Last reply
          0
          • C Chris Meech

            What exactly are you trying to order? :confused: :confused:

            Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]

            M Offline
            M Offline
            Majid Shahabfar
            wrote on last edited by
            #5

            order by users FirstName or LastName

            C 1 Reply Last reply
            0
            • S SilimSayo

              I think you should not try to order intermediate results. You should only end-results.

              M Offline
              M Offline
              Majid Shahabfar
              wrote on last edited by
              #6

              can you change my SQL Statement as you think?

              S 1 Reply Last reply
              0
              • M Majid Shahabfar

                can you change my SQL Statement as you think?

                S Offline
                S Offline
                SilimSayo
                wrote on last edited by
                #7

                Actually, my answer was not correct. I think what's wrong with your query is the syntax i.e where the Order By Clause comes in. The syntax should be in form ROW_NUMBER ( ) OVER ( [ <partition_by_clause> ] <order_by_clause> )

                M 1 Reply Last reply
                0
                • M Majid Shahabfar

                  order by users FirstName or LastName

                  C Offline
                  C Offline
                  Chris Meech
                  wrote on last edited by
                  #8

                  If you want it ordered by either FirstName or LastName, then why does your original post also have an order by clause here; ROW_NUMBER() OVER (ORDER BY aspnet_Membership.CreateDate ) AS RowNumber The ORDER BY in this context is in error.

                  Chris Meech I am Canadian. [heard in a local bar] In theory there is no difference between theory and practice. In practice there is. [Yogi Berra]

                  1 Reply Last reply
                  0
                  • S SilimSayo

                    Actually, my answer was not correct. I think what's wrong with your query is the syntax i.e where the Order By Clause comes in. The syntax should be in form ROW_NUMBER ( ) OVER ( [ <partition_by_clause> ] <order_by_clause> )

                    M Offline
                    M Offline
                    Majid Shahabfar
                    wrote on last edited by
                    #9

                    Thanks Silim it works bt now I have anoter problem when I use ArticleCount I get the Invalid column name error do you hae any idea?

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • World
                    • Users
                    • Groups