Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL连接和筛选更进一步_Sql - Fatal编程技术网

SQL连接和筛选更进一步

SQL连接和筛选更进一步,sql,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 我试过了,运气不好 SELE

我需要添加一个条件,只选择字段(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'

有什么想法吗?

我建议不要使用来自foo,bar的
,其中foo.key=bar.key
方法来执行
加入
,因为它不是很灵活,而且对代码的新读者来说也不明显。相反,您应该执行显式的
JOIN

SELECT
    gallery_url,
    preview_url
FROM
    my_gallery_previews
    INNER JOIN my_galleries ON my_gallery_previews.gallery_id = my_galleries.gallery_id
WHERE
    my_galleries.format = 'pictures'
你试试这个怎么样

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'

使用联接时,请确保在所选列的前面加上它们各自的表。我希望这会有所帮助

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

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。

您得到的结果是什么?旁注:请使用较新版本的,而不是您使用过的。在我看来是正确的。也许可以尝试:从my_galleries.format='pictures'的my_galleries.format中选择my_galleries.format,查看该表中是否有匹配的图片。如果您这样做,那么我怀疑您的联接排除了这些行。