我有一条SQL语句:

SELECT * FROM newsTable INNER JOIN picTable on picTable.picID = newsTable.newsPicID

这会将所选图像从一个表链接到另一表的新闻故事。

这仅适用于一张图像,但是如果我最多可以为一个故事添加3张图像,那么我的新SQL语句将是什么样?

我不太了解 SQL语句的语法。

任何指导表示赞赏。
newsTable

newsID
newsTitle
newsBody
newsPicID
newsPicIDTwo
newsPicIDThree

picTable

picID
picFileName
picPath

最佳答案

您可以再加入两次以输入图片信息:

SELECT t1.*,
       COALESCE(t2.picFileName, 'NA') AS picFileName1,
       COALESCE(t3.picFileName, 'NA') AS picFileName2,
       COALESCE(t4.picFileName, 'NA') AS picFileName3
FROM newsTable t1
LEFT JOIN picTable t2
    ON t1.newsPicID      = t2.picID
LEFT JOIN picTable t3
    ON t1.newsPicIDTwo   = t3.picID
LEFT JOIN picTable t4
    ON t1.newsPicIDThree = t4.picID

您可以根据需要在picTable中添加更多列,并且在新闻项没有任何图片信息的情况下,可以再次使用COALESCE()提供默认值。

09-25 22:30