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