2013-06-16 3 views
1

Я две таблицы: Один называется «Collected_items» и других «Wrong_Collected» .. Как показано ниже:PHP MYSQL Регистрация и выходные несовпадающие результаты

**collected_items** 
item_no qty 
x1  10 
x2  20 
BB  5 
Z1  20 
x13  13 


**wrong_collected** 
item_no qty 
x1  10 
x2  20 
x13  13 

Как вы можете видеть, Есть пункт нет. произошла в обеих таблицах, но все, что я хочу, это вывести те, которые не найдены в таблице неправильных.

$sql = mysql_query("SELECT collected_items.item_no,wrong_collected.item_no FROM collected_items, wrong_collected WHERE collected_items.item_no!=wrong_collected.item_no"); 
while($data = mysql_fetch_array($sql)){ 
    echo $data["item_no"]; 
} 

Выходной сигнал показывает весь деталь нет, за исключением BB и Z1 ..Althout если вы удалите ! из collected_items.item_no=wrong_collected.item_no выход покажет соответствия Номер элемента, как показано ниже:.

X1 X2 X13 

К сожалению, я Я не очень хорошо знаком с PHP. Я узнал JOIN, но я никогда не видел примера, как выводить непревзойденные результаты. Пожалуйста помоги ! Спасибо

+0

вашего запрос в порядке и результаты совершенны, то в чем проблема ?? –

+0

@dianuj Последние два абзаца - это то, что я ищу, я хочу вывести результаты UNMATCHED. – Alihamra

ответ

0

изменение этого:

SELECT collected_items.item_no,wrong_collected.item_no FROM collected_items, wrong_collected WHERE collected_items.item_no!=wrong_collected.item_no

к:

SELECT ci.item_no FROM collected_items ci 
left join wrong_collected wc on ci.item_no=wc.item_no 
WHERE wc.item_no is null; 
+1

Кажется, у вашего кода что-то отсутствует или неверно. Я получил это сообщение об ошибке 'mysql_fetch_array() ожидает, что параметр 1 будет ресурсом, boolean given' – Alihamra

+0

извините. теперь исправлено – geryjuhasz

+0

Большое вам спасибо, теперь его работа по мере необходимости! – Alihamra

0

использовать этот запрос:

select * from collected_items ci where not exists (select 1 from wrong_collected wc where ci.item_no = wc.item_no) 
+0

Я пробовал свой код, и я получил следующую ошибку: mysql_fetch_array() ожидает, что параметр 1 будет ресурсом, boolean given' .. Пожалуйста, помогите – Alihamra

0

Вот subquery пример, который дает непревзойденные результаты

SELECT item_no FROM collected_items WHERE item_no NOT IN 
(SELECT item_no FROM wrong_collected) 

Надеется, что это имеет смысл

+0

Я бы не рекомендовал использовать подзапрос, если вы можете добиться того же используя соединения. – geryjuhasz

+0

@geryjuhasz его рекомендация в моем ответе я не рекомендовал, потому что вы уже отправили ответ, используя 'join', поэтому я предоставил вам другую версию из вашего ответа –

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