Оператор SQL (INNER JOIN?) - PullRequest
1 голос
/ 02 июля 2011

У меня есть две таблицы wnews и категории.

Я хочу напечатать названия категорий по идентификатору

что-то вроде wnews.category (является целым числом) и категорий (id, name), где wnews.category = cateroies.id и печатное имя

Я что-то сделал, но потерпел неудачу ...

$query = mysql_query("SELECT wnews.id, wnews.torrentid, wnews.title,
                             wnews.img, wnews.added, wnews.category,
                             wnews.genre, wnews.uploader, wnews.description,
                             categories.id, categories.name
                      FROM wnews
                        INNER JOIN categories
                          ON wnews.category=categories.id 
                      ORDER BY wnews.added DESC")
         or sqlerr();

while ($arr = mysql_fetch_assoc($query))
{ printNews($arr["wnews.torrentid"], $arr["wnews.title"], 
            $arr["wnews.img"],       $arr["wnews.added"],
            $arr["categories.name"], $arr["wnews.genre"], 
            $arr["wnews.uploader"],  $arr["wnews.description"]);
} 

Спасибо за ваше время.

решаемая.

        $query = mysql_query("SELECT wnews.id, wnews.torrentid, wnews.title, wnews.img, wnews.added,
        wnews.category, wnews.genre, wnews.uploader, wnews.description, categories.id, categories.name AS cat_name FROM wnews
        LEFT JOIN categories ON wnews.category = categories.id
        ORDER BY wnews.added DESC") or die(mysql_error());
        while ($arr = mysql_fetch_assoc($query))
        {
            printNews($arr["torrentid"], $arr["title"], $arr["img"], $arr["added"], $arr["cat_name"], $arr["genre"], $arr["uploader"], $arr["description"]);
        }

1 Ответ

0 голосов
/ 16 октября 2011

Мне нравится использовать MySQL Query Browser при создании сложных операторов SQL (с внутренними объединениями и тому подобным).

Вы можете скачать его здесь: http://dev.mysql.com/downloads/

Шеннон

...