我有一条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()
提供默认值。