2

私は2つの異なるテーブルから以下の列を持っています -

DimTeamProject.ProjectNodeGUID             DimIteration.ProjectGUID 
------------------------------             ------------------------   
FAE8B08E-286E-487D-B1C1-011853028CDB       fae8b08e-286e-487d-b1c1-011853028cdb

ケースを合わせながら結合操作を試みていました。それは私に次のようなエラーを与えました

文字列からuniqueidentifierへの変換で変換に失敗しました。

私が試していたクエリは -

select 
   p.ProjectNodeName, i.IterationName
from 
   DimTeamProject p, DimIteration i
where 
   (p.ProjectNodeGUID) = UPPER(i.ProjectGUID)

「char」および「cast」機能も試しましたが、成功しませんでした。助けてください。

DimIteration.ProjectGUID は「nvarchar」であり、DimTeamProject.ProjectNodeGUID は「一意の識別子」です。

4

1 に答える 1

4

適切な側を次のようにキャストするだけuniqueidentifierです:

select p.ProjectNodeName, i.IterationName
from DimTeamProject p
inner join DimIteration i on p.ProjectNodeGUID = 
    CAST(i.ProjectGUID as uniqueidentifier)

SQL Fiddleを使用したデモを参照してください。

于 2013-07-03T15:54:23.857 に答える