SQLite& MySQL - 相同查询 - 不同结果 - 多个联接

时间:2010-08-25 09:11:52

标签: sql mysql sqlite

我有2个数据库具有相同的数据,但在某些字段中的数据类型略有不同(例如,SQLite DB具有TEXT,其中MySQL DB具有varchar(50))

我运行以下查询:

SELECT * 
FROM audio a, 
  audiocodec ac, 
  fileproperties f, 
  transportstream t, 
  transportservice ts, 
  video v, 
  videocontent vct, 
  videoFrameRate vf, 
  videocodec vc 
WHERE 
f.PK_filename = a.filename 
AND a.codec = ac.PK_audioCodecID 
AND f.PK_filename = a.filename 
AND f.PK_filename = t.filename 
AND t.services = ts.PK_serviceID 
AND f.PK_filename = v.filename 
AND v.content = vct.PK_contentID 
AND v.frameRate = vf.PK_frameRateID 
AND v.codec = vc.PK_videoCodecID

在MySQL DB中完成,我按预期得到10个结果。在SQLite中,有2个结果。 有什么原因? (我知道这可能很难回答不能指定我用表格制作的数据类型和约束)

1 个答案:

答案 0 :(得分:0)

我注意到的一件事是你的WHERE语句中f.PK_filename = a.filename是两次(这可能不是你获得不同结果的原因,但仍然有些值得注意)。