2012-12-21 45 views
1

有人可以帮助我我有2个MySQL查询,当我尝试运行它们时会得到未知的列ID。我想补充一点,我从2005年的SQLServer将这个数据库MySQL和他们在SQL Server 2005中MySQL查询中的未知列ID

这里是他们的1运行良好:

SELECT DISTINCT g.id AS `genre` 
    FROM media_playlist_sequence MPS 
    INNER JOIN media    M ON M.`key`   = MPS.media_key 
    INNER JOIN media_playlists  MP ON MP.`key`   = MPS.playlist_key 
    INNER JOIN node_media_playlist NMP ON NMP.playlist_key = MP.`key` 
    INNER JOIN nodes    N ON N.`key`   = NMP.node_key 
    INNER JOIN media_files   MF ON MF.media_key  = M.`key` 
    INNER JOIN media_locations  ML ON ML.media_file_key = MF.media_file_key 
     AND ML.node_key = n.`key` 
    INNER JOIN media_genres  MG ON MG.media_key  = M.`key` 
    INNER JOIN genres    G ON G.`key`   = MG.genre_key 
WHERE M.is_ready = 1  
    AND MP.id = 'Channels'  
    AND N.id = 'VIC-WIN7' 
    AND mf.is_quad_image = 0 
+0

查询中的三个相关表('media_playlists','genres','nodes')是否存在'id'列? –

+0

没有'id'专栏,因为它是这样说的。 – MahanGM

+0

id列在media_playlists,流派和节点中确实存在,这就是我困惑的原因。 – vic

回答

1

我的猜测是,这是一个区分大小写的问题。 MySQL可以默认区分大小写,而SQL Server不区分大小写。

+0

+1因为这是一个好主意,但[这取决于MySql运行的操作系统...](http://dev.mysql.com/doc/refman/5.0 /en/identifier-case-sensitivity.html) –

+0

所有的id列都是小写字母 – vic

+0

每个njk也是,修正你的别名,只是为了确保。 – John