mysql请求有问题。 特别是,一个看起来像
的部分supplier.name AS supplier_id ,
导致1052错误 - 1052订单子句中的'supplier_id'列不明确',但代码如
CONCAT(supplier.name) AS supplier_id ,
工作正常,没有错误。为什么呢?
完整的工作sql:
SELECT
supplier_contract.*,
CONCAT('', status.name, '') as status_id ,
CONCAT(supplier.name) AS supplier_id ,
CONCAT(currency.name) AS currency_id ,
CONCAT(incoterms.name) AS incoterms_id
from supplier_contract
LEFT OUTER JOIN status ON supplier_contract.status_id = status.id
LEFT OUTER JOIN supplier ON supplier_contract.supplier_id = supplier.id
LEFT OUTER JOIN currency ON supplier_contract.currency_id = currency.id
LEFT OUTER JOIN incoterms ON supplier_contract.incoterms_id = incoterms.id
ORDER BY name DESC, supplier_id DESC
LIMIT 0, 26
不工作sql:
SELECT
supplier_contract.*,
CONCAT('', status.name, '') as status_id ,
supplier.name AS supplier_id ,
currency.name AS currency_id ,
incoterms.name AS incoterms_id
from supplier_contract
LEFT OUTER JOIN status ON supplier_contract.status_id = status.id
LEFT OUTER JOIN supplier ON supplier_contract.supplier_id = supplier.id
LEFT OUTER JOIN currency ON supplier_contract.currency_id = currency.id
LEFT OUTER JOIN incoterms ON supplier_contract.incoterms_id = incoterms.id
ORDER BY name DESC, supplier_id DESC
LIMIT 0, 26
错误讯息: 致命错误:未捕获异常'PDOException',消息'SQLSTATE [23000]:完整性约束违规:1052列''supplier_id'在订单子句中的含义不明确'在C:\ wamp \ www \ stream \ classes \ class.DBMethods.inc:15堆栈跟踪:#0 C:\ wamp \ www \ stream \ classes \ class.DBMethods.inc(15):PDO-> prepare('SELECT supplier ...')#1 C:\ wamp \ www \ stream \ classes \ class.TableGen.inc(20):DBMethods :: selectBySql('SELECT supplier ...')#2 C:\ wamp \ www \ stream \ classes \ class.TableGen.inc(218):TableGen-> getRecords()#3 C:\ wamp \ www \ stream \ index.php(82):TableGen-> viewRecords()#4 {main}抛出C:\ wamp \ www \ stream \ classes \ class.DBMethods。第15行的公司