2014-11-08 4 views
0

Я пытаюсь найти одинаковые значения в двух различных таблицах позволяет сказать, что атрибуты Table1 являются: идентификатор, имя, посещаемость и table2: идентификатор, num_of_absПоиск и сравнение строк из двух таблиц

Мне нужно, чтобы определить, какие значения в столбце id таблицы 1, совпадают в столбце id таблицы 2. И затем отобразите сообщение, если значение id таблицы также существует в столбце id таблицы 2 , пока я смог написать следующий код :

$myData = mysql_query($sql,$con); 
$mysecData = mysql_query($sqll,$con); 
while($abs=mysql_fetch_array($mysecData)) { 
    switch ($students=mysql_fetch_array($myData)) { 
    case $abs['id'] == $students['Id'] : 
    echo $students['Id']; 
    break; 
    default: 
    echo "id is not the same"; 
} 

код работает только в том случае, если значения находятся в одной строке каждой таблицы. Если значения существуют в обеих таблицах, но не находятся в одной строке, тогда появляется сообщение «id не то же самое». Кто-нибудь знает, как это исправить?

Благодаря

+0

Я не могу понять, что вы ищете, но вам почти наверняка лучше сделать один SQL-запрос, чтобы делать то, что вы ищете, а не делать проверки самостоятельно. Пусть ваша база данных позаботится о том, чтобы делать работу за вас. – andrewsi

ответ

0

Если вы присоединитесь данные из 2 таблиц, чем вы будете иметь совпадающие записи на колонке ID. Это был бы самый простой способ получить совпадающие записи из обеих таблиц. Вот пример, основанный на ограниченной информации в сообщении:

SELECT t1.id, t1.name, t1.attendance, t2.id, t2.num_of_abs 
FROM table1 AS t1 
JOIN table2 AS t2 
ON t1.id = t2.id 

Я надеюсь, что это поможет вам в правильном направлении.

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