Как игнорировать результаты из таблицы JOIN в запросе MySQL - PullRequest
1 голос
/ 02 апреля 2012

У меня следующий запрос:

$img_sub_qry = "SELECT * FROM images 
JOIN imagsub ON images.image_id = imagsub.image_id
WHERE images.image_id IN ($thelist)";

Проблема в том, что этот запрос заполняет раскрывающийся список, и я получаю двойные результаты. Я хочу получить результаты только из таблицы изображений, но мне нужно JOIN, чтобы получить столбец, который существует только в таблице imagsub. Из FirePHP я могу видеть результаты из таблицы изображений, проходящие просто отлично, но затем он возвращается к началу и извлекает те же результаты из imagsub, и мне эти результаты не нужны. Я пытался "ВЫБЕРИТЕ DISTINCT" безрезультатно. Может ли кто-нибудь помочь мне здесь. Я довольно новичок в PHP, и я впервые попробовал использовать IN.

Ответы [ 2 ]

3 голосов
/ 02 апреля 2012

Я думаю, что вы на правильном пути с выбором отличных;просто укажите столбцы, которые вы хотите.Если вы заполняете раскрывающийся список, сделайте так:

$img_sub_qry = "SELECT DISTINCT [colname] as ddlvalue, [colname] as ddltext
    FROM images 
    JOIN imagsub ON images.image_id = imagsub.image_id
    WHERE images.image_id IN ($thelist)";

Для запроса, который вы пытаетесь, каждая строка в запросе будет отличаться, вероятно, из-за столбцов идентификаторов..

0 голосов
/ 02 апреля 2012

Вы должны явно указать, какие поля вас интересуют.

SELECT i.* 
FROM images i
JOIN imagsub is ON i.image_id = is.image_id
WHERE i.image_id IN ($thelist)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...