2011-08-17 93 views
0

我能做到這一點查詢,如果不是我能怎樣改變工作MySQL查詢問題內部聯接

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 

回答

1

順序應該是

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

相關內容:http://dev.mysql.com/doc/refman/5.0/en/select.html – Samuel

2

你必須移動的INNER JOIN到FROM子句這樣的:

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 
0
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 
0

的加盟條款笑被放置在from和where子句之間。

此外,您可以使用表別名來使您的查詢更易於閱讀。例如。

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