[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с выборкой из двух таблиц
viacheslav83
Сабж. Есть две таблицы users(user, address,...) и actions(user, comment,...).
В поле comment заносится различная информация, в том числе и информация о факте оплаты абонентской платы типа "Paid May". А нужно вывести адреса тех абонентов, кто не оплатил данный месяц.
Вижу решение в следующем (плохо знаю возможности, поэтому легких путей не вижу):
1) из таблицы actions вытащить имена оплативших май
2) найти разницу между этими двумя выборками
3) вывести на экран список адресов полученной разницы
Найти разницу можно между массивами, а не результатами выборки, поэтому выборки переписал в массивы, но результирующий массив пустой. Вот что напридумывал:
Код
<?php
    $r=array();
    $r1=array();
    $r2=array();
    $link=mysql_connect("???", "???", "???") or die("Could no
    mysql_select_db("???");
    $query="SELECT user FROM actions WHERE comment='May paid'";
    $result = mysql_query($query) or die("Query failed : " . mysql_error());
    print "<table>\n";
    $j=0;
    $i=0;
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)){
        foreach ($line as $col_value){
            print "\t<tr>$col_value</tr>\n";
            $r[$i][$j]=$col_value;
            $i++;
    }  }
    print "</table>\n";
    $query1="SELECT user, address FROM users";
    print "<table>\n";
    $i=0;
    while ($line = mysql_fetch_array($result1, MYSQL_ASSOC)){
        print "\t<tr>\n";
        $j=0;
        foreach ($line as $col_value){
            print "\t\t<td>$col_value</td>\n";
            $r1[$i][$j]=$col_value;
            $j++;
        }
        print "\t</tr>\n";
        $i++;
    }
    print "</table>\n";
    $r2 = array_diff ($r, $r1);
    mysql_free_result($result);
    mysql_free_result($result1);
    mysql_close($link);
?>

Хоть и не ругается, но $r2 пустой...



Спустя 5 часов, 18 минут, 27 секунд (12.05.2007 - 23:19) Ghost написал(а):
SELECT * FROM `users` WHERE `user` NOT IN (SELECT `user` FROM `actions` WHERE `comment`='May paid')
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.