2011-11-02 104 views
0

我想这MSSQL查询转换为MYSQLSQL Server查询到MySQL查询

查询看起来像这样

select tu.FirstName+' '+tu.LastName as name,tg.Name as game_name,tg.Status,tg.UserId,tg.gameid from tblUsers tu  
inner join tblGame tg on 
tu.UserId=tg.UserId where tg.Name LIKE @Name + '%' 

相同的查询犯规返回任何记录,当我在MYSQL运行它,什么是问题 ?它的工作原理SQL服务器

回答

1
SELECT CONCAT_WS(' ', tu.FirstName, tu.LastName) AS name, tg.Name AS game_name,tg.Status,tg.UserId,tg.gameid 
FROM tblUsers tu  
INNER JOIN tblGame tg ON tu.UserId=tg.UserId 
WHERE tg.Name LIKE CONCAT(tu.FirstName, ' ', tu.LastName, '%') 

注意良好:

  • 它是区分大小写的,我用大写只是为了可读性
  • 我故意使用两个CONCAT和CONCAT_WS向他们展示作为选项
+0

谢谢你的工作 – user580950

0
select tu.FirstName+' '+tu.LastName as name,tg.Name as 
game_name,tg.Status,tg.UserId,tg.gameid from tblUsers tu 
inner join tblGame tg on 
tu.UserId=tg.UserId where tg.Name LIKE @Name + '%' 

select concat(tu.firstName,' ',tu.lastName) as name, ,tg.Name as 
game_name,tg.Status,tg.UserId,tg.gameid from tblUsers as tu 
inner join tblGame as tg on 
tu.UserId=tg.UserId where tg.Name LIKE concat(@Name,'%'); 

需要注意的是,不存在(例如)field1+' '+field2, 有concat,concat_wsgroup_concat, 阅读它,它是非常有用的。