Mysql SQL-获取具有特定值的多个结果

Mysql SQL-获取具有特定值的多个结果,mysql,sql,Mysql,Sql,我的目标是通过特定的比赛获得两个或更多的结果。我试过这个: SELECT * FROM edgewe_ngg_pictures a, edgewe_ngg_gallery b WHERE galleryid=("555","556") limit (1,1) 期望得到2个匹配项,但我得到一个错误。有什么想法吗 澄清:我希望每个库都有一个结果。看起来您需要在中使用,而不是= SELECT * FROM edgewe_ngg_pictures a, edgewe_ngg_gallery b W

我的目标是通过特定的比赛获得两个或更多的结果。我试过这个:

SELECT * FROM edgewe_ngg_pictures a, edgewe_ngg_gallery b WHERE galleryid=("555","556") limit (1,1)
期望得到2个匹配项,但我得到一个错误。有什么想法吗


澄清:我希望每个库都有一个结果。

看起来您需要在中使用,而不是=

SELECT * 
FROM edgewe_ngg_pictures a, edgewe_ngg_gallery b 
WHERE galleryid IN ("555","556") 
limit 2
编辑:

从你的评论来看,我认为以下是你想要的。它会给你一个555和一个556的结果

(SELECT * 
FROM edgewe_ngg_pictures a, edgewe_ngg_gallery b 
WHERE galleryid = "555" 
limit 1)
UNION ALL
(SELECT * 
FROM edgewe_ngg_pictures a, edgewe_ngg_gallery b 
WHERE galleryid = "556" 
limit 1)

除了错误之外,您不应该添加一些连接条件吗

SELECT * 
FROM edgewe_ngg_pictures a
   inner join edgewe_ngg_gallery b on a.galleryid = b.galleryid    
WHERE b.galleryid IN ("555","556") 
否则,您总是选择所有图片,假设galleryid是b列

更新:

SELECT * 
FROM edgewe_ngg_pictures a
   inner join edgewe_ngg_gallery b on a.gid = b.galleryid    
WHERE  a.id in (select min(id) 
                  from edgewe_ngg_pictures p 
                 where gid in ("555","556") group by gid) 

我需要更多的信息。也许您可以编辑并发布一些示例数据I get 1064-您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在第4行@notaguratall的“1,1”附近使用的正确语法。我编辑了我的答案。看一看。限制的语法错误。不确定您试图用它实现什么。限制1有效,但只返回555,如果我取消限制,我会得到比我需要的更多的记录,但556出现了,所以您的答案部分正确。@不完全正确。那么,您是想得到555的一个结果和556的一个结果吗?请参阅我的答案,缺少两个表之间的联接。这是有道理的,但我得到了以下错误:1054-where子句中的未知列“b.galleryid”属于哪个表galleryid?这两个表之间是否存在1:N关系?如果是这样,图片中的哪一列包含画廊id?看起来他正在使用MySQL。他的语法在那里很好用。MySQL只是对连接条件进行了一些神奇的列选择。当涉及到神奇时,我就停止我的工作。那就帮不了你了。好运气We_ngg_gallery使用galleryid,edgewe_ngg_pictures使用gid,已尝试:从edgewe_ngg_pictures中选择*一个内部连接edgewe_ngg_gallery b在a.galleryid=b.gid上,其中b.gid在555,1限制2中,两个结果都来自gid'1'中的此查询