What happened to this mysql query?

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

Mistake:

Error Number: 1064

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

+3
source share
5 answers

you need to select FROM something (table, say) before the WHERE- clause

+8
source

You have no FROM FROM clause before "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 app_contracts.id DESC

+8

No FROM clause

+3
source

This should work:

 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
source

You did not specify a table (s) from which you can select data. It should be more form:

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

Where JOIN ...indicates the keys by which the three tables should be related.

+1
source

Source: https://habr.com/ru/post/1712208/


All Articles