Vraag : De snelle vraag treedt toe

Hallo waren de deskundigen,

I benieuwd waarom het volgende niet in sql zal werken:

declare varchar (100) @joining
set die = 't3.Col1'< br/>select * van binnen tblTestDatat1 sluit zich aan bij tblTestData3 t3 op t1.Col1 = @joining

I krijgt een leeg resultaat van bovengenoemd @joining alhoewel beide lijsten precies zelfde data.
Is het niet mogelijk hebben toe te treden gebaseerd op een variabele?

Antwoord : De snelle vraag treedt toe

>so waarom werpt het geen fout?
het zal op de litteral waarde „t3.Col1“ toetreden, betekenend het koord „t3.Col1“, en niet op de waarde van de kolom col1 van lijst t3.
@variable zal niet geïnterpreteerd als uitdrukking table.column, maar aangezien het, als koord wordt verklaard.
Andere oplossingen  
 
programming4us programming4us