我有两个表,LessonPlans 和 Images,我想一起使用,但我无法让它工作。在 LessonPlans 中,我将继续添加越来越多的行,但图像将只包含 10 张图像,稍后将重复这些图像。 EI。 LessonPlan1=image1, LessonPlan2=image2... LessonPlan10=image10, LessonPlan11=image1 等。为了让它更好,我只想使用与 LessonPlans 具有相同语言的图像。
无论我现在尝试哪种方式,我都会让图像 1 重复与该字段中的行相同的次数。我试过的是:
SELECT * FROM
(SELECT l.Id, l.Subject, l.Language, l.Level, l.Aim, i.`Name-img`, i.`Alt-img`
FROM LessonPlans l
JOIN Images i
ON l.Language = i.Language
WHERE l.Language = 'English'
) a GROUP BY a.Subject ORDER BY a.Id DESC;
有什么方法可以让它工作吗?
我使用的表格是:
类(class)计划:
Id | Subject | Language | Level | Aim
图片:
Id | Name-img | Language | Alt-img
最佳答案
将 ImageId
列添加到 LessonPlans
表。将新数据插入 LessonPlans
时,您还需要根据您喜欢的逻辑插入 ImageId
。
然后你可以使用这个查询:
select * from LessonPlans l, Images i where l.ImageId=i.Id
最好将所有逻辑和复杂性放在插入新数据的部分并安排所有内容,以便选择查询尽可能简单。这是因为在您的情况下插入很少见,并且选择是在浏览器中每次打开页面时完成的,因此目标是优化更频繁的操作以提高速度,而代价是不那么频繁的操作。
如果您要解决插入率高而选择率低的问题,那么逻辑会反过来。
关于php - 加入两个表并循环并重复其中一个表的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36791976/