帮助创建SQL查询

时间:2010-06-07 19:38:24

标签: php mysql wordpress join

SQL查询有点新,我需要帮助加入。

我提供 gid

对于其中的每一项,我需要从表 wp_ngg_gallery

中获取名称

然后加入表 wp_ngg_pictures 并按字段 imagedate抓取字段文件名限制 1 订单 DESC

alt text http://cl.ly/80c22b7010ab8f021558/content

alt text http://cl.ly/bfdf41b3706d25e0ee10/content

任何人都可以提供帮助吗?

3 个答案:

答案 0 :(得分:3)

让我知道这是如何工作的。如果你以SQL格式转储这两个表(用phpMyAdmin),我将创建本地数据库并自己运行(假设这不起作用)。

SELECT
    `wp_ngg_gallery`.`name`,
    `wp_ngg_pictures`.`filename`
FROM
    `wp_ngg_gallery`
    LEFT JOIN
        `wp_ngg_pictures`
    ON
        `wp_ngg_gallery`.`gid` = `wp_ngg_pictures`.`galleryid`
ORDER BY
    `wp_ngg_pictures`.`imagedate` DESC
LIMIT
    0,1;

这假设您需要加入。它可能是用一个不错的GROUP BY语句完成的。

答案 1 :(得分:0)

我猜:

select wp_ngg_gallery.name, wp_ngg_pictures.filename
from wp_ngg_gallery, wp_ngg_pictures
where wp_ngg_pictures.galleryid = wp_ngg_gallery.gid
order by wp_ngg_pictures.imagedate DESC 
limit 0,1

如果您需要特定的GID,则可以执行以下操作:

select wp_ngg_gallery.name, wp_ngg_pictures.filename
from wp_ngg_gallery, wp_ngg_pictures
where wp_ngg_pictures.galleryid = wp_ngg_gallery.gid
and wp_ngg_gallery.gid = $gid
order by wp_ngg_pictures.imagedate DESC 
limit 0,1

(如果您的查询是PHP中的字符串,则$ gid有效,但您没有说,如果这是您正在使用的内容)

目前尚不清楚wp_ngg_pictures.galleryid是否是wp_ngg_gallery.gid的外键,但鉴于您提供的信息,它是最可能的选择。如果不是(如果您可以拥有没有图像的图库),您可能希望通过向其添加and wp_ngg_gallery.gid = $gid来修改其他人的查询(使用外部联接)。

答案 2 :(得分:0)

如果你想要多个 gids(为一个选择其他选项):

SELECT gid,name, a.filename
FROM wp_ngg_gallery
JOIN  wp_ngg_pictures a
ON a.galleryid = gid 
LEFT JOIN wp_ngg_pictures b
ON a.galleryid = gid 
AND b.imagedate > a.imagedate
WHERE b.galleryid IS NULL
AND gid IN (1,2,3)