我有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个结果。 有什么原因? (我知道这可能很难回答不能指定我用表格制作的数据类型和约束)
答案 0 :(得分:0)
我注意到的一件事是你的WHERE语句中f.PK_filename = a.filename
是两次(这可能不是你获得不同结果的原因,但仍然有些值得注意)。