2010-06-07 101 views

回答

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 

($的GID是有效的,如果你是查询是字符串在PHP中,但你没有说,如果这就是你正在使用)

目前还不清楚,如果wp_ngg_pictures.galleryid是wp_ngg_gallery.gid的外键,但它是最有可能的选择,因为你提供的信息。如果不是(如果您的画廊没有图片),您可能需要修改其他人的查询(使用外部联合),并在其中添加and wp_ngg_gallery.gid = $gid

+0

刚刚添加和wpp_ngg_gallery.gid = [提供的数字],这工作! – wesbos 2010-06-07 19:55:19

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; 

这是假设你需要一个JOIN。这可能可以用一个体面的GROUP BY声明来完成。

+1

这是一件好事,但我需要指定GID。例如 - 其中GID = 3 – wesbos 2010-06-07 19:53:01

+2

+1用于使用外部联接 - 不假设图库有任何图片。 – 2010-06-07 19:54:10

+0

@Wes:然后在查询中添加一个WHERE wp_ngg_gallery.gid = [GID]。 @ Bill:谢谢。 – 2010-06-07 20:29:13

0

如果你想为多个导报(选择单一个其他选项):

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) 
+0

我不确定你在那里做什么,但它不会按'​​imagedate'排序,而是使用静态的'IN()'方法。假设他想配对所有记录。 – 2010-06-07 19:46:40

+0

您需要'WHERE b.galleryid IS NULL',而不是'a.gallaryid IS NULL',但这是我用“最大每个组标签”回答的几十个问题的解决方案。然而,OP没有说他们需要搜索多个gid,所以他们的问题可以用更简单的查询来回答。 – 2010-06-07 19:52:18

+0

@Bill:哎呀,固定:)(这就是我明确表示只用于多重使用的原因)@Josh K:不信的人,出发去测试,并让新的知识获得许多快乐。 – Wrikken 2010-06-07 19:57:33