我尝试在mst_Dosen
,mst_MK
,tst_Dosen_MK
之间合并三个表格。我只想显示ID, ID_Dosen, Name, ID_MK, Nama_MK
。
我想连接表:tst_Dosen_MK.ID_Dosen获取表单mst_Dosen.ID_Dosen和tst_Dosen_MK.ID_MK获取表单mst_MK.ID_MK。
像那样:我试过了,但我仍然无法做到。
"SELECT tst_Dosen_MK.ID, tst_Dosen_MK.ID_Dosen, mst_Dosen.Nama, tst_Dosen_MK.ID_MK, mst_MK.Nama_MK
FROM (tst_Dosen_MK INNER JOIN mst_Dosen ON (tst_Dosen_MK.ID_Dosen = mst_Dosen.ID_Dosen) AND (tst_Dosen_MK.ID_Dosen = mst_Dosen.Nama)) INNER JOIN mst_MK ON (tst_Dosen_MK.ID_MK = mst_MK.ID_MK) AND (tst_Dosen_MK.ID_MK = mst_MK.Nama_MK);
"
消息“表达式中的类型不匹配”
答案 0 :(得分:0)
1)将不相关的内容从您的JOIN条件中删除。
2)使用别名使您的查询可读。
这样做会导致:
SELECT dm.ID
, dm.ID_Dosen
, d.Nama
, dm.ID_MK
, m.Nama_MK
FROM tst_Dosen_MK dm
INNER JOIN mst_Dosen d ON dm.ID_Dosen = d.ID_Dosen
INNER JOIN mst_MK m ON dm.ID_MK = m.ID_MK;
答案 1 :(得分:0)
此错误“表达式中的类型不匹配”表示您使用查询传递的字段之一是无效的。
此处:tst_Dosen_MK.ID_Dosen = mst_Dosen.Nama
您可以比较不同的数据类型。
试试这个:
SELECT A.ID, A.ID_Dosen, B.Nama, A.ID_MK, C.Nama_MK
FROM tst_Dosen_MK as A, mst_Dosen as B, mst_MK as C
WHERE A.ID_Dosen = B.ID_Dosen AND A.ID_MK = C.ID_MK
或者这个:
SELECT tst_Dosen_MK.ID, tst_Dosen_MK.ID_Dosen, mst_Dosen.Nama, tst_Dosen_MK.ID_MK, mst_MK.Nama_MK
FROM (tst_Dosen_MK INNER JOIN mst_Dosen ON (tst_Dosen_MK.ID_Dosen = mst_Dosen.ID_Dosen)) INNER JOIN mst_MK ON (tst_Dosen_MK.ID_MK = mst_MK.ID_MK))