0
我有一个查询如下:比较VARCHAR和整数在MySQL JOIN子句
select q.question, e.filename
from question q
join actions a on a.FK_QId = q.PK_Id
join action_params ap on ap.FK_AId = a.PK_Id
join envfile e on e.FK_Qid = ap.value
where e.EnvType = 0
的问题是JOIN ON
条款e.FK_Qid = ap.value
其中value
为varchar和FK_QId
是整数。我知道我必须做一些事情CAST
和CONVERT
,但我尝试失败了什么:
select q.`question`, e.filename
from question q
join actions a on a.FK_QId = q.PK_Id
join action_params ap on ap.FK_AId = a.PK_Id
join envfile e on CAST(e.FK_Qid as nvarchar(3)) = ap.value
where e.EnvType = 0
基本上value
领域将有一个像“1”,字符串“2”等,所以其正常的,如果我可以做任何字符串将字符串比较或int转换为int转换。底线是"1" = 1
和"2" = 2
等。
编辑:CAST(e.FK_Qid as char3) = ap.value
工作以及..
是的,它做到了..它叮当早些工作的一些其他问题.. – nawfal 2012-08-02 09:21:29