Проблем с свързване на 2-ве таблици + проверка

Donjo

Registered
Добър вечер на всички и весело прекарване на празниците

Имам един сериозен проблем, който не мога да го реше свързване на 2-ве таблици + проверка

Значи имам следното:

Таблица 1:
earn_id
title

Таблица 2:
earn_program_id
user_name

пример:

Таблица 1:
earn_id title
1 Проба
2 Проба 2
3 Проба 3
.
и т.н.

Таблица 2:
earn_program_id user_name
1 user
3 user1

Проблема е следният:

Трябва да отпечатам таблица 1 ако дадения потребител не участва в нея:
Тоест, ако:
user е earn_program_id = 1 да ми отпечата

earn_id title
2 Проба 2
3 Проба 3

акo user1 e earn_program_id 3
earn_id title
1 Проба
2 Проба 2

Ето как сам го почнал:

@mysql_select_db($db) or die("Грешна база данни");
mysql_query('set names cp1251', $connection);
$query_earn = " SELECT * from earn, earn_register WHERE earn_register.user_name_reg=\"$user_name\" and earn.earn_id !=earn_register.earn_program_id order by earn.earn_id ASC";
$result_earn = mysql_query($query_earn ) or die('Грешка');
$row_earn = mysql_numrows($result_earn);
while($row_earn = mysql_fetch_array($result_earn))
{
}

но тук проблема е ,че в тази проверка

earn.earn_id !=earn_register.earn_program_id

earn.earn_id трябва да провери всички earn_program_id от даденият потребител???

Моля помогнете
 
Код:
mysql_select_db($db) or die("Грешна база данни");
mysql_query('set names cp1251', $connection);
$query_earn = mysql_query("SELECT earn.earn_id FROM earn LEFT JOIN earn_register WHERE earn_register.user_name_reg='$user_name' and 
earn.earn_id !=earn_register.earn_program_id ORDER BY earn.earn_id") or die(mysql_error());
$row_earn = mysql_numrows($query_earn);
while($row_earn = mysql_fetch_array($query_earn)) {
}

Само не схванах от къде идва $user_name :idea:
 
user_name идва от сесията като се присвоява на променлива

Ето и следната грешка която ми изкарва:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE earn_register.user_name='asd' and earn.earn_id !=earn_register.earn_' at line 1
 
Donjo каза:
user_name идва от сесията като се присвоява на променлива

Ето и следната грешка която ми изкарва:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE earn_register.user_name='asd' and earn.earn_id !=earn_register.earn_' at line 1

Значи тази грешка, я оправих като left join добавих ON но ON е за равенство, а на мен ми требва да ми извлече всички несъвпадащи !=
чудя се и четох доста, но немога да го измисля, дайте идея или помогнете?
 

Back
Горе