where子句中的“tahun\u pemilihan”是不明确的

holgip5t  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(262)

我如何纠正代码中的问题,代码下面的where子句中的“tahun\u pemilihan”是不明确的。提前谢谢你的帮助。
这是mysql表

$sql = "SELECT 
              a.*, b.vektor_v FROM data_alternatif a, hasil b 
    WHERE a.id_alternatif=b.id_alternatif AND tahun_pemilihan='$thn'";
g6baxovj

g6baxovj1#

如果已联接的两个表中都存在列名,则可能会遇到不明确的列名错误。
在您的例子中,列名 tahun_pemilihan 存在于你的两个表中。
解决方案:
从两张table中选一张。 a.tahun_pemilihan='$thn' 或者 b.tahun_pemilihan='$thn' https://www.quora.com/what-does-the-sql-ambiguous-column-name-error-mean

vawmfj5a

vawmfj5a2#

两个表都包含一个名为 tahun_pemilihan 所以在 WHERE 子句条件不清楚要使用哪个表的列;它应该用那个吗 data_alternatif 或者从结果表中 hasil ?
限定表格中的表格 WHERE 包含其中一个的子句 a.tahun_pemilihan='$thn' 如果它应该使用列 data_alternatif.tahun_pemilihan 或者 b.tahun_pemilihan='$thn' 如果 hasil.tahun_pemilihan 就是要用的那个。

相关问题