gpt4 book ai didi

mysql - 错误代码: 1052 - Column 'idk' in field list is ambiguous

转载 作者:行者123 更新时间:2023-11-29 17:41:20 26 4
gpt4 key购买 nike

您好,我尝试创建查询并添加此查询,查询错误:

JOIN matakuliah ON nilai.idk = matakuliah.idk
WHERE matakuliah.semester = 1

完整查询:

SET @sql_dinamis = ( SELECT GROUP_CONCAT( DISTINCT CONCAT( 'max( IF(idk = ', idk, ',huruf,null) ) AS A', idk ) ) FROM nilai  );

SET @SQL = CONCAT( 'SELECT mahasiswa.nim, mahasiswa.nama, ', @sql_dinamis, '
FROM nilai
JOIN mahasiswa ON nilai.idm = mahasiswa.idm
JOIN matakuliah ON nilai.idk = matakuliah.idk
WHERE matakuliah.semester = 1
GROUP BY nilai.idm' );
PREPARE stmt
FROM
@SQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

错误信息:

FROM nilai
JOIN mahasiswa ON nilai.idm = mahasiswa.idm
JOIN matakuliah ON nilai.idk = matakuliah.idk
WHERE matakuliah.semester = 1
GROUP BY nilai.idm' )
> OK
> Time: 0s


PREPARE stmt
FROM
@SQL
> 1052 - Column 'idk' in field list is ambiguous
> Time: 0s

帮我解决这个问题。

这是我的数据库 https://irhas.online/test/test2.txt请帮助我。

最佳答案

您的查询引用了 idk(来自 @sql_dinamis 部分),但是您的 nilaimatakuliah > 其中有 idk 字段,因此 SQL 不知道您想要哪一个。您需要更改

中的 idk
SET @sql_dinamis = ( SELECT GROUP_CONCAT( DISTINCT CONCAT( 'max( IF(idk = ', idk, ',huruf,null) ) AS A', idk ) ) FROM nilai  );

nilai.idkmatakuliah.idk 例如

SET @sql_dinamis = ( SELECT GROUP_CONCAT( DISTINCT CONCAT( 'max( IF(nilai.idk = ', idk, ',huruf,null) ) AS A', idk ) ) FROM nilai  );

这对我有用(请参阅 DBFiddle )

关于mysql - 错误代码: 1052 - Column 'idk' in field list is ambiguous,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49992446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com