我对mySql很新,我似乎无法理解我遇到的问题。我想要做的是使用一个表(LessonPlans)并将其与另一个表(图像)中的随机图像连接,但前提是该图像使用与LessonPlans相同的语言标记。只要LessonPlans中有更多输入,图像就应该继续添加。
详细说明:
我需要从 LessonPlans 以及随机图片(名称,级别和目标 >名称-img )来自图片,但仅当 LessonPlans 和图片都有语言时(例如英语)的共同点。只要 LessonPlans 中有行,就应该继续这样做,即使这意味着重复图像。
我尝试过各种来自不同来源的解决方案,但我要么随意得到所有内容,要么重复一切。
PS。我是Stackoverflow的新手,请原谅我,如果我不是很清楚
//修改
这是表格:
LessonPlans
Id
Subject
Language
Level
Aim
Images
Id
Name-img
Language
/哈坎
答案 0 :(得分:0)
SELECT LessonPlans.Name , LessonPlans.Level , LessonPlans.Aim , LessonPlans.language ,
Images.img, Images.language
FROM LessonPlans , Images
ON LessonPlans.commonfield=Images.commonfield
WHERE LessonPlans.language = 'English';
答案 1 :(得分:0)
试试这个 - >>
SELECT LessonPlans.Subject , LessonPlans.Level , LessonPlans.Aim , LessonPlans.language ,
Images.Name_img
FROM LessonPlans INNER JOIN Images
ON LessonPlans.language=Images.language
答案 2 :(得分:0)
SELECT * FROM
(SELECT l.Id, l.Subject, l.Language, i.`Name-img`
FROM LessonPlans l, Images i
WHERE l.Language = i.Language
ORDER BY RAND()
) a
GROUP BY a.Subject
ORDER BY a.Id
您可以使用所需的所有字段。请在SQLFiddle查看此示例。有时图像名称可能会重复,因为示例模式中的图像很少。
UPD 1:添加特定语言
SELECT * FROM
(SELECT l.Id, l.Subject, l.Language, i.`Name-img`
FROM LessonPlans l
JOIN Images i
ON l.Language = i.Language
WHERE l.Language = 'en'
ORDER BY RAND()
) a
GROUP BY a.Subject
ORDER BY a.Id
上试试