【问题标题】:Query to get data from two tables查询从两个表中获取数据
【发布时间】:2010-06-28 09:19:58
【问题描述】:

我正在尝试从两个 MySQL 表中获取数据,但是遇到了问题。

通常,我会根据数据使用连接从这两个表中获取数据,但我认为这次我不能。

情况如下: 我有表格照片和照片相册。

photos ID ALBUM FILENAME
photos_albums ID TITLE NAME

如果照片表中存在,我需要获取所有相册和照片。当我使用连接查询时,只有存在具有特定相册 ID 的照片时才会返回相册。

如何解决?有什么建议么?任何帮助表示赞赏。

问候, 汤姆

【问题讨论】:

  • 可以发一下photos_albums的查询和结构吗?我的水晶球现在坏了;)
  • 我的也是 :) photos_albums 没关系,但编辑了我的问题 :)
  • photos_album 包含什么。另外,如果相册中有不止一张照片,您想要什么?
  • 无论照片是否存在,我都想显示每个相册。如果有照片,我只想要一张,不需要更多。

标签: sql mysql


【解决方案1】:

您可能正在使用INNER JOIN(或只是JOIN,这是相同的),这样您就可以得到两个表中都有数据的行。用照片表试试select from albumsLEFT JOIN

【讨论】:

  • 请不要使用 cmets。当然 LEFT JOIN 可以正常工作,我只是太累了。感谢您的帮助!
【解决方案2】:

当连接两个表时,您可以指定连接类型以返回具有匹配条件的记录(在ON 子句中),或来自其中一个连接表的所有记录,无论它是否有相应的行另一张桌子。这可以通过使用LEFT OUTER JOIN 来实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    • 2015-11-13
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    相关资源
    最近更新 更多