triq
triq

Reputation: 1977

mysql query problem inner join

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

Answers (4)

a'r
a'r

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

Andrej
Andrej

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

Joe Landsman
Joe Landsman

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

Philippe Plantier
Philippe Plantier

Reputation: 8073

The order should be

SELECT ...
FROM ... INNER JOIN ... ON ...
WHERE ...
ORDER BY ...

Upvotes: 1

Related Questions