Погода: 1 °C
21.11−4...1пасмурно, без осадков
22.11−6...−2переменная облачность, небольшой снег
НГС.Форум /Компьютеры Интернет Связь / Программное обеспечение /

Не могу сделать запрос к некоторым данным в MY SQL

  • Всем добрый день. Делаю не сложный запрос к БД


    SELECT `company`.`form`, `company`.`system`, `calendar`.`id`, `calendar`.`date_start`, `calendar`.`date_finish`,
    `calendar`.`report`, `calendar`.`what`, `calendar`.`where` FROM `company`, `calendar`
    WHERE `calendar`.`system`=`company`.`system` and `company`.`id`='$page' and `company`.`form` IN (`calendar`.`form`)
    ORDER BY `calendar`.`date_finish`


    `company`.`form` IN (`calendar`.`form`) - при помощи этого пытаюсь собрать данные, где есть соответствие. Например:
    "слово IN (слово, еще что-то, 123)
    Если в `calendar`.`form` одно значение, то отображает, если несколько ничего не срабатывает. Начал проверять другие запросы та же ошибка, данные какие то потеряны? Или файл повредился как то?
    Почему? Подскажите, пожалуйста.

  • ошибку какую выдаёт?
    Через что Вы делаете такой запрос - скрипт какой или phpmyadmin?

  • На сколько я помню SQL, в случае, если под IN

    В ответ на: если несколько
    то там внутри должен быть подзапрос SELECT.

    Кстати, а чем не походит вариант

    WHERE `calendar`.`system`=`company`.`system` and `company`.`id`='$page' and `company`.`form` =`calendar`.`form`

    ?

  • Мануал именно это нам и подсказывает:

    predicate:
    bit_expr [NOT] IN (subquery)
    | bit_expr [NOT] IN (expr [, expr] ...)
    | bit_expr [NOT] BETWEEN bit_expr AND predicate
    | bit_expr SOUNDS LIKE bit_expr
    | bit_expr [NOT] LIKE simple_expr [ESCAPE simple_expr]
    | bit_expr [NOT] REGEXP bit_expr
    | bit_expr


    http://dev.mysql.com/doc/refman/5.7/en/expressions.html

    Т.е. либо явно заданные значения через запятую, либо одно значение, полученной из поля (но единственное значение!), либо подзапрос (subquery).

Записей на странице:

Перейти в форум

Модераторы: