我有两个带有列的表,如下所示:
khs(id,年,程序,codemk)
主题(id,年份,程序,codemk,namemk,tm,pr,lp)
我想要一个包含以下内容的结果:
codemk, namemk, tm, pr, lp
注意:
year
表中的program
,codemk
和khs
字段在subjects
表中也不都是唯一的。但是,将这些字段的3个值结合起来就可以得到一个唯一值。我尝试了这个:
SELECT khs.id khs.codemk, subjects.namemk, subjects.tm, subject.pr, subjects.lp
FROM khs
RIGHT JOIN subjects
ON khs.year + khs.program +khs.codemk = subjects.year + subjects.program + subjects.codemk;
但是
tm
,pr
和lp
的结果不是我期望的。我想念什么?抱歉,我是MySQL的新手,如何在新表视图中创建它。提前致谢。
最佳答案
也许这样:
SELECT khs.id khs.codemk, subjects.namemk, subjects.tm, subject.pr, subjects.lp
FROM khs
RIGHT JOIN subjects
ON khs.year=subjects.year, khs.program =subjects.program, khs.codemk = subjects.codemk;
但不确定是否是您要的,否则:
SELECT khs.id khs.codemk, subjects.namemk, subjects.tm, subject.pr, subjects.lp
FROM khs
RIGHT JOIN subjects
ON CONCAT(khs.year,khs.program, khs.codemk) = CONCAT(subjects.year, subjects.program, subjects.codemk);
关于php - MySQL如何将2列值合并为2列值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28349722/