我有两个表,LessonPlans和Images,我想一起使用,但我无法让它工作。在课程计划中,我将继续添加越来越多的行,但图像将只包含 10 个稍后将重复的图像。ei.课程计划1=图像1,课程计划2=图像2...课程PLan10=图像10,课程计划11=图像1等。为了使它变得更好,我只想使用与课程计划具有相同语言的图像。
无论我现在尝试哪种方式,我都会让图像 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;
有什么办法可以做到这一点吗?
我使用的表格是:
课程计划:
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
始终最好将所有逻辑和复杂性放在插入新数据的部分并安排所有内容,以便选择查询尽可能简单。这是因为在您的情况下,插入很少,并且在浏览器中每次打开页面时都会进行选择,因此目标是以降低频率来优化更频繁的操作以提高速度。
如果您正在解决插入率高而选择率低的问题,那么逻辑就会反过来。