За последние 24 часа нас посетили 17716 программистов и 1655 роботов. Сейчас ищут 909 программистов ...

Помогите пожалуйста с SELECT

Тема в разделе "MySQL", создана пользователем katalizator, 28 апр 2011.

  1. katalizator

    katalizator Активный пользователь

    С нами с:
    28 апр 2011
    Сообщения:
    8
    Симпатии:
    0
    Привет!

    Подскажите пожалуйста, как правильно составить запрос.

    Задача: необходимо из первой таблицы T1 вытащить содержимое полей столбца A соответствующих определенному значению поля столбца B, а затем из второй таблицы Т2 извлечь записи из столбца С у которых запись в поле D соответствует извлеченным в предыдущем запросе значению поля столбца B.

    Загвостка в том что второй запрос вытаскивет только одно значение.

    Извлекаем данные из первой таблицы T1 (тут всё выполняется нормально):

    Код (Text):
    1. $a = mysql_query('SELECT A FROM T1 WHERE B = $I'); // $I - какая-то заранее заданная переменная
    2. $b = mysql_fetch_array($a);

    Теперь извлекаем данные из таблицы T2 по результатам предыдущего запроса (вот этот запрос извлекает только одну запись, а в таблице их несколько):
    Код (Text):
    1.  
    2. $c = mysql_query("SELECT C FROM T2 WHERE D = $b[A]");
    3. $d = mysql_fetch_array($c);
    4.  
    5. do {
    6. echo $d['C'];
    7. }
    8. while ($d = mysql_fetch_array($c));

    Понимаю что надо как-то запрос переписать, подскажите пожалуйста как сделать что бы в цикле выходили все значения из столбца С таблицы T2
     
  2. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    1. это вообще делается одним запросом. Что-то вроде

    PHP:
    1. $c = mysql_query("SELECT c FROM t2 LEFT JOIN t1 ON t2.d = t1.a WHERE b = $i");
    2. Выкинь свой учебник.
     
  3. katalizator

    katalizator Активный пользователь

    С нами с:
    28 апр 2011
    Сообщения:
    8
    Симпатии:
    0
    1. Спасибо, попробую :)

    2. Учебника нет, это я сам такую фигню наворотил :) Я новичок пока)))
     
  4. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев