表 - ecare
name h_id
Sam 1
Deb 1
Kim 1
表 - pweb
h_id sent
1 1
1 0
1 0
请 SQL小提琴
中的Check
OUTPUT
我正在使用查询从 ecare 中获取 pweb 表格中的数据,其中仅sent is 0
SELECT distinct e.name, e.h_id
from ecare e
INNER JOIN pweb p
ON e.h_id = p.h_id AND p.sent = 0
但是,我 ecare 表中的所有三个记录可用,而不仅仅是 sent = 0
的那些记录 注意:我也尝试使用 INNER JOIN 进行相同的查询,但获取所有three records
可在 ecare 表格中找到该特定 h_id
实际上,在我的应用程序中,我正在管理记录的状态(synced
到服务器或not
- 如果同步那么我正在显示{em> 1 else 0 )pweb
表
但是现在,我得到了这个要求,我只需要显示记录那些not uploaded
到服务器,我的意思是那些{{1}在pweb ....中状态为 0 。
答案 0 :(得分:0)
String sql = "SELECT e.name, e.h_id from ecare e INNER JOIN pweb p ON e.h_id=p.h_id WHERE p.sent = '0' ";
将hid替换为h_id
答案 1 :(得分:0)
http://sqlfiddle.com/#!9/ba4c7a/1
SELECT e.name, e.h_id
FROM ecare e
INNER JOIN pweb p
ON e.h_id=p.h_id AND p.sent = 0
您的查询变体的工作方式也是如此
http://sqlfiddle.com/#!9/ba4c7a/2
SELECT e.name, e.h_id
FRM ecare e
INNER JOIN pweb p
ON e.h_id=p.h_id
WHERE p.sent = 0
答案 2 :(得分:0)
您的查询没有问题。它完全没问题。
问题在于您的数据。您在pweb表中添加了3条记录,其中包含相同的h_i " 1" ,因此您的查询显然会获取所有3条记录。
您可以在this fiddle
中进行验证