Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Stored procedure - Hittar inte kolumn

Postades av 2006-08-15 15:16:48 - Mikael Johansson, i forum sql-server/msde, Tråden har 2 Kommentarer och lästs av 702 personer

Är nu nästan klar med min SP. Har dock ett problem jag inte hittar en lösning på. Den hittar inte kolumn 'o' som är en alias. Felmeddelandet jag får är "The column prefix 'o' does not match with a table name or alias name used in the query."

<code>
set ANSI_NULLS OFF
set QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[GetC1FakturaMoogioTotalSP]
(
@SupplierID int,
@Datum1 datetime,
@Datum2 datetime,
@Status nvarchar(20),
@TypeOfCustomer int,
@ButikID Varchar(50),
@Saljare int,
@TypeOfOrder int,
@Moms decimal
)
As

Declare @SelectClause Varchar(8000),@FromClause varchar(8000),@WhereClause varchar(8000)

Set @SelectClause = 'Select (Sum(CUSTOMOrders.OrderSum)/1.25) As TotTotExl, ((Sum(CUSTOMOrders.OrderSum)/1.25)-Sum(CUSTOMOrders.OrderCostPriceSum)) As TotMargkr, ((Sum(CUSTOMOrders.OrderSum)/1.25-Sum(CUSTOMOrders.OrderCostPriceSum))/(Sum(CUSTOMOrders.OrderSum)/1.25)*100) As TotMargpr, Count(OrderID) As TotAntal, ((Sum(CUSTOMOrders.OrderSum)/1.25)/Count(OrderID)) As TotGenom'

Set @FromClause = ' From CUSTOMOrders, BCCustomers, Units, Users'
If(@SupplierID <> -1)
If(@SupplierID = 1)
Set @FromClause = @FromClause + ', CUSTOMOrderArticles, CUSTOMArticles'
Else If(@SupplierID = 2)
Set @FromClause = @FromClause + ', CUSTOMUnspecifiedArticles'
Else
Set @FromClause = @FromClause + ', CUSTOMOrderSpares, CUSTOMFolderTypes, CUSTOMSubFolders, CUSTOMFolders'
Set @FromClause = @FromClause + ' JOIN dbo.SplitOrderIDs(''' + @Status + ''') AS s ON CUSTOMOrders.OrderID = s.OrderID'

Set @WhereClause = ' Where (CUSTOMOrders.CreatedDate Between ''' + convert(varchar, @Datum1) + ''' And ''' + convert(varchar, @Datum2) + ''')'

If(@TypeOfCustomer<>-1)
If(@TypeOfCustomer<>0)
Set @WhereClause = @WhereClause + ' And (BCCustomers.BCUserID=CUSTOMOrders.BCUserID) And (BCCustomers.ExtraOptionStr='''''''
Else
Set @WhereClause = @WhereClause + ' And (BCCustomers.BCUserID=CUSTOMOrders.BCUserID) And (BCCustomers.ExtraOptionStr<>'''''''

If(@SupplierID <> -1)
If(@SupplierID = 1)
Set @WhereClause = @WhereClause + ' And (CUSTOMOrderArticles.OrderID=CUSTOMOrders.OrderID) And (CUSTOMOrderArticles.ArticleID=CUSTOMArticles.ArticleID) And (CUSTOMArticles.SupplierID=''' + @SupplierID + ''')'
Else If(@SupplierID = 2)
Set @WhereClause = @WhereClause + ' And (CUSTOMUnspecifiedArticles.OrderID=CUSTOMOrders.OrderID) And (CUSTOMUnspecifiedArticles.SupplierID=''' + @SupplierID + ''')'
Else
Set @WhereClause = @WhereClause + ' And (CUSTOMOrderSpares.OrderID=CUSTOMOrders.OrderID) And (CUSTOMFolderTypes.TypeID=CUSTOMOrderSpares.TypeID) And (CUSTOMFolderTypes.FolderID=CUSTOMSubFolders.FolderID) And (CUSTOMSubFolders.ParentID=CUSTOMFolders.FolderID) And (CUSTOMFolders.SupplierID=''' + @SupplierID + ''')'

If (@ButikID <> '-1')
Set @WhereClause = @WhereClause + ' And (Units.UnitID In ''' + @ButikID + ''')'

If (@Saljare <> -1)
Set @WhereClause = @WhereClause + ' And (CUSTOMOrders.CreatedByID=''' + @Saljare + ''')'

If (@TypeOfOrder != -1)
Set @WhereClause = @WhereClause + ' And (CUSTOMOrders.TypeOfOrder=''' + @TypeOfOrder + ''')'

exec (@SelectClause + @FromClause + @WhereClause)
</code>

Felet ligger i join har jag kommit fram till. Hoppas det är ngn som orkar kolla på detta. :)


Svara

Sv: Stored procedure - Hittar inte kolumn

Postades av 2006-08-15 21:03:47 - Mikael Wedham

Om du kan köra den och göra en PRINT på din selectvariabel

exec (@SelectClause + @FromClause + @WhereClause)

Så borde du hitta ett "o" någonstans där det inte får vara

Det är dumt att blanda tabeller med komman join och "join" join i samma select... Det ökar risken för fel.

/micke


Svara

Sv:Stored procedure - Hittar inte kolumn

Postades av 2006-08-15 21:38:42 - Mikael Johansson

Felet berodde på att tabellerna i from låg i fel ordning. Customorders skulle liggas sist innan man kallar på join :)


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
489
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies