繁体   English   中英

连接两个表并循环并重复其中一个表的列

[英]Joining two tables and loop and repeat through on column of one of them

我有两个表,LessonPlans和Images,我想一起使用,但我无法使它工作。 在LessonPlans中,我将继续添加越来越多的行,但图像将只包含10个稍后将重复的图像。 EI。 LessonPlan1 = image1,LessonPlan2 = image2 ... LessonPLan10 = image10,LessonPlan11 = image1等。为了使它更好,我只想使用与LessonPlans具有相同语言的图像。

无论我现在尝试什么样的方式,我都会让Image 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;

有没有办法让这项工作?

我使用的表是:

LessonPlans

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

总是首选将所有逻辑和复杂性放在插入新数据的部分并安排所有内容,以便选择查询是最简单的。 这是因为在您的情况下,插入很少,并且在浏览器的每个页面打开时都会进行选择,因此目标是优化更频繁的操作以提高速度,而不是频繁使用。

如果您正在解决插入率高和选择率低的问题,那么逻辑就会反过来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM