![](/img/trans.png)
[英]Select DISTINCT from multiple columns of multiple tables with PHP and MySQL
[英]MySQL SELECT from multiple columns from tables
我正在嘗試從mysql數據庫中檢索信息。 我有以下表格:
資格(qualificationid,qualificationname,personid,status)
地址(addressid,addressline1,city,province,areacode,personid)
得分(比分,score.choices,personid,jobid)
我使用鍵入以下mysql語句來檢索數據
SELECT score.personid, qualifications.qualificationname, score.score
FROM
Qualifications, Score, Address
WHERE
score.jobid=58
AND
qualifications.qualificationName ='Human Resource Management'
AND
aadress.province ='Western Cape'
ORDER BY score.score
LIMIT 0,20;
這似乎對其他所有方面都奏效,但並不限制該省為西開普省。
為什么不使用聯接? 像這樣:
SELECT s.personid, q.qualificationname, s.score
FROM Score s
INNER JOIN Qualifications q ON q.personid = s.personid AND q.qualificationName ='Human Resource Management'
INNER JOIN Address a ON a.personid = s.personid AND a.province ='Western Cape'
WHERE s.jobid = 58
ORDER BY s.score DESC
LIMIT 0,20;
您將需要定義關系。 在您的示例中,系統現在不知道地址與分數或資格的關系。 通過添加GROUP BY score.personid
和AND score.personid = address.personid
和score.personid = qualifications.personid
您可以解決問題。
另外,使用JOINS
可能會更高效,因為它的作用基本相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.