这是我在 Stack Overflow 上的第一篇文章,所以我会尽量提供尽可能多的信息。我花了几个小时试图弄清楚这一点,并认为也许一些帮助会让我克服这个项目的困难。
我正在尝试使用 Mysql 5/Php5 创建一个评论网站,我有两个表:
'公司'
'评论'
在公司表中,我有所有美国公司的完整列表,在评论表中,我有一个基于“公司”表中公司的评论列表。当用户通过表单提交评论时,会填充评论表。
因此,我想要一个搜索结果页面,它将按字母列出所有公司。在搜索结果表中,将列出公司名称、总评论和总分。
在公司表中,我有以下列:
company_id
公司
地址
城市
州
在评论
表
中
,
我
有
以下列
:
'
review_id''review_date''company''review''review_city''review_state''comp_benefits''work_life_balance''job_security''career_growth
'
目前,我编写了一个 SQL 脚本,它输出“评论”表中的所有公司、它的分数和总评论数的总和:
$result = mysql_query('select *, SUM(comp_benefits + work_life_balance + job_security + career_growth) as ItemSum, COUNT(company) as TotalReviews from reviews where company LIKE "'.$letter.'%" GROUP BY company;');
因此,输出将是这样的:
“百思买”“35”“3”
问题是,这个查询只输出和计算评论表中实际有评论的公司。我的目标是将结果与“公司”表结合起来,这样没有评论的公司仍会出现在表的输出列表中,“ItemSum”为“ 0 ”,“ ItemSum ”为“0” 0 ' 表示计数。
“ABC 公司”“0”“0”
“百思买”“35”“3”
我研究了工会和加入,但到目前为止,我找不到一种方法来输出我列表中的所有公司,按不同的名称和总数。
如果有人对此有任何指导,我将非常感谢任何建议。