SQL加入并进一步过滤

时间:2017-03-20 18:38:12

标签: sql

我需要添加一个条件,只选择字段(my_galleries.format)等于' pictures'的字符串值的行。我试图将它添加到这个工作的sql语句。

SELECT
    gallery_url,
    preview_url
FROM
    my_galleries,
    my_gallery_previews  
WHERE
    my_galleries.gallery_id = my_gallery_previews.gallery_id

我试过这个,没有运气......

SELECT
    gallery_url,
    preview_url 
FROM
    my_galleries,
    my_gallery_previews  
WHERE
    my_galleries.gallery_id = my_gallery_previews.gallery_id 
    AND my_galleries.format='pictures'

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

我建议不要使用>17-46151 AGGTTCCGGATAAGTAAGAGCC >18-41148 TCTTAACCCGGACCAGAAACTA >43-16054 GTCCCACTCCGTAGATCTGTTC >32-24116 TAGCATATCGAGCCTGAGAACA >42-16312 TGATACGGATGTTATACGCAGC 方法来执行tac file |awk … |tac ,因为它不是非常灵活,对于您的代码的新读者来说并不明显。相反,您应该执行明确的FROM foo, bar WHERE foo.key = bar.key

JOIN

答案 1 :(得分:0)

你怎么试试这个

SELECT gallery_url, preview_url FROM my_galleries 
JOIN my_gallery_previews ON
my_galleries.gallery_id = my_gallery_previews.gallery_id 
WHERE my_galleries.format='pictures'

使用联接,请确保为所选列添加前缀及其各自的表。我希望这有帮助

答案 2 :(得分:0)

正如其他人所说,我建议你使用新的连接结构,因为它更具可读性。

SELECT mg.gallery_url, 
       mgp.preview_url 
  FROM my_galleries        mg
  JOIN my_gallery_previews mgp ON mg.gallery_id = mgp.gallery_id 
                              AND mg.format = 'pictures'

您可以使用AND语句将过滤条件放在连接中。 (只是另一种方式)

您的查询似乎是正确的语法。我建议您浏览数据集或将其编辑到您的问题中。当前没有图片库预览可能与现有图库行共享图库ID,这会阻止联接运行。