2016-08-04 3 views
0

Таблица - ecareРегистрация для извлечения данных из двух таблиц

name   h_id 

Sam   1 

Deb   1 

Kim   1 

Таблица - pweb

h_id   sent 
1    1 
1    0 
1    0 

Пожалуйста CheckOUTPUT в SQL Fiddle

Я использую следующие запроса для выборки данных из 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 таблица, а не только те, где отправлено = 0

Примечания: Я попытался же запроса с INNER JOIN тоже, но получением всех three records доступны в ecare стола для конкретного h_id

На самом деле, в моем приложении, я управляю статусом записи (synced к серверу или not - если синхронизируются тогда я показываю еще) в pweb таблице

Но теперь, я получил требование, где я просто нужно шоу записей те not uploaded на сервер все же, я имею в виду те sent статус в pweb ....

+0

Вы уверены, что вы получаете все 3 записи? Тебе не должно быть. –

+0

@TimBiegeleisen Да, я получаю все 3 записи – Oreo

+0

Попробуйте использовать ** INNER JOIN ** вместо ** LEFT JOIN ** – Sadikhasan

ответ

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' "; 

заменить спрятался в h_id

+0

это не решение ... Я просто сделал опечатку :( – Oreo

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 
+0

еще не сделано ... получение всех трех записей – Oreo

+0

sqlfiddle, пожалуйста, или полный фрагмент кода, а также некоторое доказательство того, как вы получаете свои 3 строки. Согласно sqlfiddle есть всего 2 строки: – Alex

+0

Вероятно, вы запрашиваете неправильную базу данных, поэтому убедитесь, что у вас есть одни и те же данные в базе данных: 'SELECT * FROM pweb', что выводится? Опубликовать его здесь – Alex

0

Там не проблема с вашим запросом. Это прекрасно.
Проблема заключается в ваших данных. Вы добавили 3 записи в таблицу pweb с тем же h_i «1», так что ваш запрос, очевидно, заберет все 3 записи.

Вы можете проверить в this fiddle

+0

Да Я согласен, но так или иначе, мне нужно сделать это, пожалуйста, проверьте это: http://sqlfiddle.com/#!9/348aa/2 – Oreo

+0

Вы не можете иметь его с неправильной структурой данных. извините –

+0

Это похоже на то, что у одного пресона есть результат теста как pas, а также неудача .... И вы хотите показать человека, который потерпел неудачу. Это невозможно ... Если вы хотите достичь этого, вы будете reqyure к cahneg ваши таблицы соответственно –

Смежные вопросы