Vraag : Het meerdelige herkenningsteken kon geen verbindende en Dubbelzinnige kolomnaam in SQL Server 2008 zijn

Hallo alle heb ik met dit twee dagen gewerkt. Ik heb de kolomnamen, cre�ërde aliassen gecontroleerd en niets schijnt te werken.  Ik gebruikte de zelfde code voor een gelijkaardige vraag en het werkt boete. Ik begrijp niet.  De vraag werkt zolang ik gebruik Inventory_ID stippel aangezien sortExpression.I de foutenmeldingen blijven krijgen:

Ambiguous kolomnaam „Inventory_ID“.
The meerdelig herkenningsteken „dealership_Inventory.Inventory_ID“ niet bound.
No konden de rijen affected.
(teruggekeerde rij 0 zijn)
@RETURN_VALUE = 0

Can iedereen gelieve te helpen?

Thanks,

Jus
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
This werkt niet:

VERANDER PROCEDURE [dbo]. [dealership_Inventory_PagedAndSorted]
	(
	nvarchar @sortExpression (100),
	@startRowIndex int.,
	@maximumRows int.
	)	
	ZOALS	
	
	ALS LEN (@SORTEXPRESSION) = 0
	VASTGESTELDE @sortExpression = „InventoryYear“
	
VERKLAAR @sql nvarchar (4000)
PLAATS @sql = 'UITGEZOCHTE dealership_Inventory.Inventory_ID, InventoryYear, ImageLocation
VAN (UITGEZOCHTE dealership_Inventory.Inventory_ID, InventoryYear, ImageLocation,
            ROW_NUMBER () OVER (ORDE DOOR „+ @sortExpression +“) ALS RowRank
VAN dealership_Inventory
BINNEN SLUIT me aan bij dealership_InventoryImages
OP (dealership_Inventory.Inventory_ID = dealership_InventoryImages.Inventory_ID)
) ALS ModelsWithRowNumbers
WAAR RowRank > ' + OMZET (nvarchar (10), @startRowIndex) +
„EN RowRank <= (“ + nvarchar BEKEERLING ((10), @startRowIndex) + „+“
+ ZET (om nvarchar (10), @maximumRows) + „)“

EXEC sp_executesql @sql

Antwoord : Het meerdelige herkenningsteken kon geen verbindende en Dubbelzinnige kolomnaam in SQL Server 2008 zijn

>When I het gebruikshandel drijven. Inventory_ID in tegenstelling tot Inventory_ID als sortExpression het werkt.
precies.
aangezien u @sortExpression binnen de binnenvraag hebt, is Inventory_ID als zulke „ambigeous“, zou het één van beide lijst van kunnen zijn toetreedt (zelfs als U dat de waarde het zelfde is weet, kan SQL „niet“ op dat ogenblik) het weten, vandaar de fout.

Andere oplossingen  
 
programming4us programming4us