我怎样才能纠正我从下面的代码中得到的问题,该代码在子句不明确的地方声明了“tahun_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'";
我怎样才能纠正我从下面的代码中得到的问题,该代码在子句不明确的地方声明了“tahun_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'";
两个表都包含一个名为tahun_pemilihan
so 在WHERE
子句条件中的列,不清楚要使用哪个表的列;它应该使用data_alternatif
结果表中的还是结果表中的那个hasil
?
用是否应该使用列或是否是要使用的列来限定WHERE
子句中的表。a.tahun_pemilihan='$thn'
data_alternatif.tahun_pemilihan
b.tahun_pemilihan='$thn'
hasil.tahun_pemilihan
如果列名存在于您连接的两个表中,您可能会遇到不明确的列名错误。
在您的情况下,列名tahun_pemilihan
存在于您的两个表中。
解决方案:
选择您将使用的两个表中的哪一个。
a.tahun_pemilihan='$thn'
或者b.tahun_pemilihan='$thn'
https://www.quora.com/What-does-the-SQL-ambiguous-column-name-error-mean