标签: join

为什么这个SQL字符串不起作用?

我必须得到所有job_titles和在那里工作的人的工资总和的清单......

我用这个得到了:

SELECT j.job_title, SUM(e.salary)
FROM jobs j LEFT JOIN employees e ON e.job_id = j.job_id
GROUP BY j.job_title;
Run Code Online (Sandbox Code Playgroud)

好的,但现在我得到同样的名单,但也考虑到城市......

它不起作用......:/

SELECT j.job_title, SUM(e.salary), d.department_id, l.city
FROM departments d LEFT JOIN employees e ON e.department_id = d.department_id LEFT JOIN locations l 
ON l.location_id = d.location_id LEFT JOIN jobs j ON e.job_id = j.job_id 
GROUP BY l.city;     
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

mysql sql oracle join

0
推荐指数
1
解决办法
71
查看次数

在shell中将2个文件连接到1

如何在shell中加入2个文件,例如:

file1 -

server1          monthly      25
server2          monthly      24
server3          daily        21
server4          weekly       7
server5          weekly       7                                         
Run Code Online (Sandbox Code Playgroud)

file2 -

server1          monthly      5
server2          monthly      4
server3          daily        1
server4          weekly       2
Run Code Online (Sandbox Code Playgroud)

你能帮助我得到像这样的输出:

server1          monthly      25     5
server2          monthly      24     4
server3          daily        21     1
server4          weekly       7      2
server5          weekly       7      0
Run Code Online (Sandbox Code Playgroud)

unix linux shell join file

0
推荐指数
1
解决办法
136
查看次数

这个SELECT语句有什么问题?

我收到这个错误:

您的SQL语法有错误; 检查与你的MySQL服务器版本相对应的手册,以便在''JOIN`-- shirt`link```-- shirt``````````````````````````````````````````````````````````````````````````

我现在已经梳理了近半个小时,无法弄明白.有人可以指出我吗?这是代码.

SELECT
`shirts`.`shirt_name`,
`shirts`.`men` AS `main_photo`,
GROUP_CONCAT ( `shirt_sizes`.`size_name` ) AS `sizes`
FROM
`shirts`
JOIN
`shirts_link` ON `shirts_link`.`shirt_id`=`shirts`.`id`
JOIN
`shirt_sizes` ON `shirt_sizes`.`id`=`shirts_link`.`size_id`
JOIN
`shirt_prices` ON `shirt_prices`.`id`=`shirts_link`.`price_id`
WHERE `men`!=''
GROUP BY
`shirt_prices`.`price_cat`
Run Code Online (Sandbox Code Playgroud)

如果问题比这个脚本更深入,这里是我试图联系在一起的其他表.

衬衫表

CREATE TABLE shirts (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL,
    shirt_name VARCHAR(20) NOT NULL,
    men VARCHAR(10) NULL,
    women VARCHAR(10) NULL,
    boys VARCHAR(10) NULL,
    girls VARCHAR(10) NULL,
    babies VARCHAR(10) NULL,
)ENGINE=INNODB;

INSERT INTO shirts(shirt_name,men,women,boys,girls,babies) VALUES
    ('Crewneck Tee','me_crn','wo_crn','bo_crn','gi_crn','ba_crn'),
    ('V-Neck Tee','me_vnc','wo_vnc','','',''),
    ('Scoop Neck …
Run Code Online (Sandbox Code Playgroud)

mysql sql join foreign-keys create-table

0
推荐指数
1
解决办法
71
查看次数

如何只加入表而不是行

我想加入表数据而不增加no.的行.
并且这两个表在没有主键的情况下连接,只有在两者中共有的列的帮助下,没有其他列可以用于结果,因为没有其他列完全相关.

表格1

  id1(pk)   name   country  clm_id
   1    abc     3        23
   2    abc     4        23
Run Code Online (Sandbox Code Playgroud)

表2

   id2(pk)   city    state    clm_id
    1    cdv      5        23
    2    sdc      5        23
Run Code Online (Sandbox Code Playgroud)

我想通过clm_id加入这些表,但它给了我4行, 我想要

      id1   name   country  clm_id  id2   city    state  
        1    abc     3        23     1    cdv      5  
        2    abc     4        23     2    sdc      5 
Run Code Online (Sandbox Code Playgroud)

但我得到了

      id1   name   country  clm_id  id2   city    state  
        1    abc     3        23     1    cdv      5  
        1    abc     3        23     2    sdc      5  
        2    abc     4        23 …
Run Code Online (Sandbox Code Playgroud)

mysql sql select join

0
推荐指数
1
解决办法
139
查看次数

是否可以在一个SQL请求中获得多个COUNT?

我需要帮助来编写一个简单的程序.让我解释一下我要做的事情.

我有3张桌子

  1. tJobOffer
  2. TApplication的
  3. tApplicationStatus

我想创建一个程序,它返回一个tJobOffer列表,其中包含此tJobOffer的不同状态统计信息.tApplicationStatus链接到链接到tJobOffer的tApplication.申请可以是候选/接受/拒绝/忽略/ ......

我创建了这个查询:

    SELECT 
        [T].[JobOfferId],
        [T].[JobOfferTitle],
        COUNT([A].[ApplicationId]) AS [CandidateCount]

    FROM        [tJobOffer] AS [T]
    LEFT JOIN   [tApplication] AS [A]
        INNER JOIN   [tApplicationStatus] AS [S]
            ON      [S].[ApplicationStatusId] = [A].[ApplicationStatusId]
            AND     [S].[ApplicationStatusTechnicalName] = 'CANDIDATE'
        ON      [A].[JobOfferId] = [T].[JobOfferId]

    GROUP BY
            [T].[JobOfferId],
            [T].[JobOfferTitle]

    ORDER BY [T].[JobOfferTitle] ;
Run Code Online (Sandbox Code Playgroud)

结果是

> 52ED7C67-21E1-49BB-A1F8-0601E6EED1EA  Announce a  0
> F26B228D-0C81-4DA8-A287-F8F997CC1F9C  Announce b  0
> 9DA60B23-F113-4C7F-9707-2B90C1556D5D  Announce c  2
> 258E11A7-79C1-47B6-8C61-413AA54E2360  Announce d  0
> DA582383-5DF4-4E1D-837C-382371BDEF57  Announce e  1
Run Code Online (Sandbox Code Playgroud)

结果是正确的.我得到了我的tJoboffers与候选人的统计数据.我有两个候选人宣布c和一个候选人宣布e.如果我将字符串'CANDIDATE'更改为'ACCEPTED'或'REFUSED',我可以获得有关这些状态的统计信息.是否可以在一个请求中获取所有内容?

就像是

> 52ED7C67-21E1-49BB-A1F8-0601E6EED1EA  Announce …
Run Code Online (Sandbox Code Playgroud)

sql t-sql join sql-server-2008

0
推荐指数
1
解决办法
101
查看次数

如何从同一个连接表中选择不同的值,但是在不同的外键上

我有一个表Users连接多次,如下所示:

在此输入图像描述

所以,当我从用户那里请求Name一个Request名字的时候,我想要两个,这是我第一次面对这种情况而且我不知道如何从SQL中做到这一点.

查询可能如下:

SELECT Name as Originator, Name as Requestee FROM View ... JOIN ... WHERE Id = 123
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server join view

0
推荐指数
1
解决办法
126
查看次数

使用Join表获取Sum

如何SUM用查询JOIN表获取查询,我有两个表,我的表是laporanlaporan_pengeluaran.

表laporan

id  name    shell
9   loli    12000
10  ardi    24000
11  dian    5500
Run Code Online (Sandbox Code Playgroud)

table laporan_pengeluaran

id  laporan_id  harga
1   9           15000
2   9           29000
3   10          7500
4   10          5000
5   11          3000
6   11          3000
Run Code Online (Sandbox Code Playgroud)

我的问题,如何使用连接表获取SUM,在表laporan中按id/name分组,所以我想获得如下结果:

id  name    shell   harga
9   loli    12000   44000
10  ardi    24000   12500
11  dian    5500    6000
Run Code Online (Sandbox Code Playgroud)

谢谢.

mysql select join group-by

0
推荐指数
1
解决办法
285
查看次数

ACCESS => SQL JOINS

LEFT JOIN在访问相同的LEFT OUTER JOIN在SQL?这两个程序中的连接等价物是什么?

sql ms-access join

0
推荐指数
1
解决办法
177
查看次数

只选择不同的"名称"并按"最新日期"排序

我使用MySQL数据库来管理组织的捐款.捐赠者可以捐赠多份捐款.因此,我有两个表:donators包含有关捐赠者的信息,并donations包含有关捐赠时间和金额的信息.两个表都通过a连接donatorID.

我想读出有关每个不同捐赠者的信息.该清单应按上次捐赠日期排序.我想出了下面的代码,但是它使用了第一次捐赠的日期而不是最后一次捐赠.

如何为每位捐赠者使用最新的捐赠日期?

SELECT
    DISTINCT(`donators`.`name`),
    `donators`.`city`,
    `donators`.`country`,
    `donators`.`website`
FROM
    `donators`
INNER JOIN
    `donations`
ON
    `donators`.`donatorID` = `donations`.`donatorID`
ORDER BY `donations`.`date` DESC
Run Code Online (Sandbox Code Playgroud)

mysql sql join inner-join

0
推荐指数
1
解决办法
190
查看次数

MYSQL JOIN所有子行并仅显示父行一次

我有一个简单的文章和评论系统与下表:

文章表:

id | writer | text
 1 | Bob    | first article
 2 | Marley | second article
Run Code Online (Sandbox Code Playgroud)

评论表:

id | article_id | comment
 1 |      1     |  i love this article
 2 |      1     |  good one
 3 |      2     |  waiting for more
Run Code Online (Sandbox Code Playgroud)

我想选择每篇文章及其下面的评论.我使用以下查询:

SELECT * FROM articles LEFT JOIN comments ON articles.id = comments.article_id 
Run Code Online (Sandbox Code Playgroud)

结果我得到:

 articles.id   | articles.writer | articles.text  | comments.id | comments.article_id | comments.comment
 1             | Bob             | first article  |    1        |         1 …
Run Code Online (Sandbox Code Playgroud)

php mysql sql database join

0
推荐指数
1
解决办法
1396
查看次数