За последние 24 часа нас посетили 17483 программиста и 1690 роботов. Сейчас ищут 965 программистов ...

SQL запрос

Тема в разделе "PHP для новичков", создана пользователем Aguero, 10 ноя 2014.

  1. Aguero

    Aguero Новичок

    С нами с:
    14 дек 2013
    Сообщения:
    19
    Симпатии:
    0
    Помогите пожалуйста сформировать sql запрос правильно. Есть две таблицы table1 и table2.
    В table1 поля id | title | price
    В table2 поля id | sid | uid | price

    Мне нужно полностью вывести table1, но если table1.id = table2.sid, то тогда вместо table1.price ячейка принимает значение table2.price
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    мануал по языку запросов почему не прочитан?
     
  3. Aguero

    Aguero Новичок

    С нами с:
    14 дек 2013
    Сообщения:
    19
    Симпатии:
    0
    Та вот уже N-е количество часов ушло на его изучение, а понимание его так и не приходит, кучу вариантов уже перебрал и ничего не работает так как нужно(
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    показывайте наработки. с комментарием хода своих мыслей.
     
  5. Aguero

    Aguero Новичок

    С нами с:
    14 дек 2013
    Сообщения:
    19
    Симпатии:
    0
    Код (Text):
    1. SELECT title, price, table1.id FROM table1 LEFT JOIN table2 ON (table1.id = table2.sid) WHERE table2.uid = $id
    Я выбираю нужные мне поля из первой таблицы при этом обьединив их со второй таблицей по нужному мне условию, где uid из второй таблице будет равняться переменной $id (ее я получаю из $_GET[]).

    По всей видимости в запросе не хватает условия if
     
  6. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    логика в нужном направлении.

    именно.
     
  7. Aguero

    Aguero Новичок

    С нами с:
    14 дек 2013
    Сообщения:
    19
    Симпатии:
    0
    Код (Text):
    1. SELECT if (table2.price is null; table1.price; table2) title, price, table1.id FROM table1 LEFT JOIN table2 ON (table1.id = table2.sid) WHERE table2.uid = $id
    Вот, прикручиваю if к своему запросу, но все равно мой код не работает, он вообще выборку не делает, Все ли я правильно в IF записал?
     
  8. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    повнимательнее1 : (table2.price is null; table1.price; table2) - там как бы , требуются а не ;
    повнимательнее2 : (table2.price is null; table1.price; table2) title - будет записано в ячейку title
     
  9. Aguero

    Aguero Новичок

    С нами с:
    14 дек 2013
    Сообщения:
    19
    Симпатии:
    0
    блин, спасибо огромное, двое суток убил на это, низкий поклон