我想做一个 SELECT
查询。参数取自另一个数据库。所以,我使用的数据来自 scg_surat.t_pembayaran
用于从中选择数据 scg_vendor.vendor
```
SELECT * FROM scg_vendor.vendor WHERE id_vendor IN (SELECT scg_surat.t_pembayaran.REKANAN FROM scg_surat.t_pembayaran
GROUP BY scg_surat.t_pembayaran.REKANAN)
查询给出此错误 `Table 'scg_vendor.scg_surat.t_pembayaran' doesn't exist` .
我该怎么解决这个问题?
3条答案
按热度按时间hc2pp10m1#
问题在于数据库、表和列名上的反勾号运算符。mysql将它作为当前数据库选择中的列选择来读取。
backtick操作符需要分开
您的查询应该如下所示:
我还建议使用别名而不是完整的表名。
cnh2zyt32#
你只是做错了
select statement
如果已经指定了表,只需调用列,而不是数据库和表。尝试:
避免使用
*
这不是好的基本做法neskvpey3#
要从不同的数据库中选择表,必须在表之前指定数据库。例如。
我有点搞不清楚哪个是你的数据库名,但我猜你要找的是这个?
哪里
scg_surat.t_pembayaran
是数据库的名称REKANAN
你的table叫什么名字?编辑:
然后尝试此查询: