2009-07-09 122 views
3
SELECT app_contracts.*, app_customers.id as customer, app_boards.id as board 
WHERE app_customers.id=app_contracts.customer_id 
AND app_boards.id=app_contracts.board_id 
ORDER BY app_contracts.id DESC 

错误:这个mysql查询有什么问题?

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE app_customers.id=app_contracts.customer_id AND app_boards.id=app_contracts' at line 2

回答

8

,你需要选择的东西(一个表,说)

8

你错过了 “FROM” 子句前的 “WHERE”。

SELECT app_contracts。*,app_customers.id作为客户,如app_boards.id板
FROM app_customers,app_contracts
WHERE app_customers.id = app_contracts.customer_id
AND app_boards.id = app_contracts.board_id
ORDER BY您的WHERE子句前app_contracts.id DESC

1

这一个必须工作:

SELECT app_contracts.*, app_customers.id as customer, app_boards.id as board 
FROM app_customers, app_contracts, app_boards 
WHERE app_customers.id=app_contracts.customer_id 
AND app_boards.id=app_contracts.board_id 
ORDER BY app_contracts.id DESC 
1

您还没有指定从中选择数据的表(一个或多个)。它应该是更加的形式:

SELECT app_contracts.*, app_customers.id as customer, app_boards.id as board 
FROM app_contracts, app_customers, app_boards 
JOIN ... 
WHERE app_customers.id=app_contracts.customer_id 
AND app_boards.id=app_contracts.board_id 
ORDER BY app_contracts.id DESC 

JOIN ...指定由三个表应当与按键。

3

没有FROM子句