Reputation: 1977
Can I do this query, if not how can I change it to work
SELECT
clientinfo.clientname, clientinfo.clientcode, clientinfo.serverid,
serverslist.servername
FROM clientinfo
where clientinfo.clientjurisdiction='$groupid' && clientinfo.clientcode REGEXP '$expression'
INNER JOIN
serverslist ON clientinfo.serverid=serverslist.serverid
ORDER BY clientinfo.clientcode
Upvotes: 0
Views: 135
Reputation: 36999
The join clauses should be placed between the from and where clauses.
Also, you can use a table alias to make your query easier to read. eg.
SELECT
c.clientname, c.clientcode, c.serverid, s.servername
FROM clientinfo c
INNER JOIN serverslist s ON c.serverid = s.serverid
WHERE c.clientjurisdiction = '$groupid' AND c.clientcode REGEXP '$expression'
ORDER BY c.clientcode
Upvotes: 0
Reputation: 7504
SELECT
clientinfo.clientname, clientinfo.clientcode, clientinfo.serverid,
serverslist.servername
FROM clientinfo, serverslist
where clientinfo.clientjurisdiction='$groupid' AND clientinfo.clientcode REGEXP '$expression' AND
serverslist ON clientinfo.serverid=serverslist.serverid
ORDER BY clientinfo.clientcode
Upvotes: 0
Reputation: 2177
You have to move the INNER JOIN into the FROM clause like this:
SELECT c.clientname, c.clientcode, c.serverid, s.servername
FROM clientinfo c INNER JOIN serverslist s ON c.serverid=s.serverid
WHERE c.clientjurisdiction='$groupid' && c.clientcode REGEXP '$expression'
ORDER BY c.clientcode
Upvotes: 2
Reputation: 8073
The order should be
SELECT ...
FROM ... INNER JOIN ... ON ...
WHERE ...
ORDER BY ...
Upvotes: 1