2016-07-19 21 views
0

Ich Abrufen von Daten aus SQLite-Datenbank folgenden Abfrage verwenden:Abfrage Abrufen von Daten aus der Datenbank

SELECT p.sent, 
     e.*, 
     e.no _id 
FROM ecare e 
LEFT OUTER JOIN pweb p ON e.h_id = p.h_id 
WHERE (ant = 'N' or ant = 'D') 
GROUP BY e.h_id 
ORDER BY p.sent 

Durch die oben SQLite Abfrage, ich alle Datensätze erhalten, die zu sent (wo gesendet = 1 und gesendet = 0).

Nun möchte ich nur diese Datensätze aus der Datenbank abrufen, wobei der Status sent = 0 gesendet wird. (Kurz gesagt, ich möchte nicht alle zu sendenden Datensätze abrufen, oder Datensätze, in denen sent = 1).

Antwort

1

Haben Sie mit folgenden Abfrage versucht?

SELECT p.sent, e. *, E.no _id von eCare e LEFT JOIN pWEB p ON e.h_id = p.h_id WHERE (ant = 'N' oder ant = 'D') und p.sent = '0' GROUP BY e.h_id

+0

ich versucht habe gleiche Weise, aber nicht bekommen keine Daten während ich in meiner Datenbank wenige Daten haben, wo = 0 gesendet ... was ist der Grund, Warum bekomme ich keine Datensätze, die gehört zu gesendet = 0 – Oreo

+0

entfernen ** (ant = 'N' oder ant = 'D') UND ** und versuchte –

+0

versuchte noch nicht fertig ... eigentlich vor dem Posten hier habe ich diese Möglichkeiten ausprobiert , aber hat keinen Erfolg, aber wenn Sie auf die gleiche Weise gezeigt, so dachte ich, ich muss noch einmal ... – Oreo

0

prüfen unten Abfrage für Ihre Frage:

return db.rawQuery("SELECT p.sent,e.*, e.no _id from ecare e LEFT OUTER JOIN pweb p ON e.h_id=p.h_id WHERE (ant = 'N' or ant = 'D') AND p.sent = '1' GROUP BY e.h_id ORDER BY p.sent ", null); 
0

Sie sind Filterung bereits auf der ant Spalte.

einen Filter für sent funktioniert auf die gleiche Art und Weise hinzu:

SELECT ... 
... 
WHERE (ant = 'N' OR ant = 'D') 
    AND sent = 0 
... 
Verwandte Themen