在iphone上加入SQLITE

xeo*_*rno 0 sqlite iphone select join request

我有一个SQLite请求要做,我不知道该怎么做.

这里是 :

SELECT videoid,inappid FROM store,video 
WHERE store.paid='1' AND store.checked='1' 
AND video.inappid=store.inappid AND video.download =='0' 
ORDER BY video.inappid DESC,video.videoid;
Run Code Online (Sandbox Code Playgroud)

- > SQL错误答案:DB错误:1"模糊列名:inappid"

我解释一下:商店和视频是2个表.在商店中,有'inappid'引用的产品(com.mysite.myapp.000).'inappid'列名是表中的键,是唯一的.付费和检查只是商店表中的布尔值.

在视频中,有...视频,每个视频都有一个唯一的键'videoid'.一个'inappid'列,引用商店表中的inappid.

所以我的要求是:在商店表中选择我所有的inappid params元素,其中付费和已检查为TRUE,并在视频表中选择此视频的所有视频视频,此视频尚未下载.

我知道我必须使用JOIN和ON元素,但我不知道如何

请帮忙哦.

Ano*_*mie 5

因为两个表都包含一个列inappid,所以当你说时,它不知道你想要返回哪一个SELECT videoid,inappid FROM ....

一个简单的解决方案就是明确选择一个: SELECT videoid,video.inappid FROM ...

另一个解决方案是使用JOIN和USING进行连接,在这种情况下,它将知道两个表中的"inappid"列是等效的: SELECT videoid,inappid FROM store JOIN video USING(inappid) WHERE store.paid='1' AND store.checked='1' AND video.download =='0' ORDER BY video.inappid DESC,video.videoid