select d1.ID,CAST(d1.ID AS CHAR) AS intId, d1.CODE_TYPE, d1.CODE, d1.CODE_IMG, d1.VALUE from m_dict_code d1 where d1.CODE_TYPE in('USER_TYPE','addSupers') UNION select 0,v.ID,v.TYPE,v.`CODE`,v.DESCRIPTION,v.VALUE_STRING from m_variable as v where v.type='tequan' limit 1,20
說明:
1.CAST (expression AS data_type)字段類型轉換函數
CAST (表名.字段名 AS 類型) 注意: 1.mysql int轉varchr會出現問題 錯誤: CAST (表名.字段名 AS varchar) 正確:CAST (表名.字段名 AS char)或concat(d1.ID,'') 說明: 將Int 轉為varchar經常用 concat函數,比如concat(8,’′) 將varchar 轉為Int 用 cast(a as signed)
2.UNION和UNION all 多表合並函數
問題:
1.兩表字段類型不一致 用cast或concat函數解決
2.兩表列屬性數量不一致問題 select后跟相同類型字段值 (int類型)0或(字符串)''解決問題
3.(自動去重)UNION (允許重復的值)UNION all
mysql api:http://www.mysqlab.net/docs/view/refman-5.1-zh/chapter/functions.html