2015-02-05 42 views
1

我有列的兩個表如下:mysql如何加入2列值成2列值

  1. KHS(ID,年份,程序,codemk)
  2. 科目(ID,今年,計劃, codemk,namemk,TM,PR,LP)

我想有一個包含結果:

codemk, namemk, tm, pr, lp 

注:字段year,programcodemkkhs表中每個表也不唯一也在subjects表中。但是結合這些領域的三個價值就能創造出獨特的價值。

我嘗試這樣做:

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; 

tmprlp結果不是我所期待。我錯過了什麼?對不起,我是MySQL的新手,我如何創建它到新的表視圖。 在此先感謝。

+0

你可以添加一些輸出的例子嗎?我不明白你 – Skatox 2015-02-05 16:59:43

+0

你想比較連接級聯值嗎? – Skatox 2015-02-05 17:00:50

回答

0

也許這樣的:

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); 
+0

謝謝你們,是的,你們都回答我的問題,它只是我現在不現在如何結合字段值(我是一個老的數據庫程序員嘗試適應新的MySQL數據庫)CONCAT是我的問題的答案,但所有的答案從別人那裏分別回答我的問題。再次感謝你。 – 2015-02-05 18:03:21

0

爲什麼要使用連接?爲什麼不嘗試這樣的事:

SELECT codemk,namemk,tm,pr,lp 
FROM khs,subjects 
WHERE khs.year = subjects.year 
0

我不知道你是什麼結果預期(您可以提供嗎?以及數據表的樣本),但您可以現在嘗試:

SELECT khs.id khs.codemk, subjects.namemk, subjects.tm, subject.pr, subjects.lp 
FROM khs 
INNER JOIN subjects 
ON khs.year = subjects.year 
AND khs.program = subjects.program 
AND khs.codemk = subjects.codemk; 
+0

你是我的救星!是的,這是我的問題的答案,謝謝。祝你有個愉快的日子 – 2015-02-05 18:06:21

+0

!你能接受答案嗎? – Alex 2015-02-05 18:29:35