我如何纠正代码中的问题,代码下面的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'";
我如何纠正代码中的问题,代码下面的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'";
2条答案
按热度按时间g6baxovj1#
如果已联接的两个表中都存在列名,则可能会遇到不明确的列名错误。
在您的例子中,列名
tahun_pemilihan
存在于你的两个表中。解决方案:
从两张table中选一张。
a.tahun_pemilihan='$thn'
或者b.tahun_pemilihan='$thn'
https://www.quora.com/what-does-the-sql-ambiguous-column-name-error-meanvawmfj5a2#
两个表都包含一个名为
tahun_pemilihan
所以在WHERE
子句条件不清楚要使用哪个表的列;它应该用那个吗data_alternatif
或者从结果表中hasil
?限定表格中的表格
WHERE
包含其中一个的子句a.tahun_pemilihan='$thn'
如果它应该使用列data_alternatif.tahun_pemilihan
或者b.tahun_pemilihan='$thn'
如果hasil.tahun_pemilihan
就是要用的那个。