标签: join

在rethinkdb中进行连接

我想在两个表之间建立连接.我正在运行的命令是:

r.table("userclientmap").eq_join("user_id", r.table("users"))
Run Code Online (Sandbox Code Playgroud)

我的'用户'表格如下所示:

[
    {
        "email":  "nielsen.ruben@gmail.com"
        "password":  "$2a$10$nO4/KHYkKRcx3D8GYwMCVu.gtsWd1SWzWz27N.TdxqdD9bf.LBXI6"
    }
]
Run Code Online (Sandbox Code Playgroud)

我的'userclientmap'表如下所示:

[
    {
        "client_id":  "3c0e6447-ab2f-401e-a09d-d84c32406fe2" ,
        "id":  "d6356002-9e51-4f82-afb7-49799f7b5ded" ,
        "user_id":  "nielsen.ruben@gmail.com"
    }
]
Run Code Online (Sandbox Code Playgroud)

从管理控制台运行我的查询时收到以下错误:

无法执行查询.

r.table("userclientmap").eq_join("user_id", r.table("users"))
Run Code Online (Sandbox Code Playgroud)

错误:

TypeError: Object function () {
    var args;
    args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
    if (args.length !== fun.length) {
      throw new err.RqlDriverError("Expected " + fun.length + " argument(s) but found " + args.length + ".");
    }
    return fun.apply(this, args);
  } has no method 'eq_join'
Run Code Online (Sandbox Code Playgroud)

我真的不知道从哪里开始.我的查询与http://rethinkdb.com/docs/table-joins/上的文档完全相同 …

database many-to-many join rethinkdb

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

左联接,条件为右表

我在为以下问题解决sql时遇到问题。我有两个这样的表:

+----------+------------+------------+
| event_id | event_name | event_date |
+----------+------------+------------+

+---------------+----------+---------+--------+
| attendance_id | event_id | user_id | status |
+---------------+----------+---------+--------+
Run Code Online (Sandbox Code Playgroud)

我正在尝试做的就是获得一个这样的表:

+----------+--------+
| event_id | status |
+----------+--------+
Run Code Online (Sandbox Code Playgroud)

其中第二个出勤表的条件是user_id。我正在尝试获取所有事件的列表以及这些事件中每个事件的用户状态,即使出勤率内没有记录(现在可以使用NULL)。同样,来自考勤表的状态数据需要由user_id选择。

从我最初的研究中,我认为这会起作用:

SELECT event_id, status FROM events LEFT JOIN attendance WHERE attendance.user_id='someoutsideinput' ORDER BY event_date ASC
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用。我应该怎么做?

谢谢!

mysql sql database join left-join

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

加入两个文件

我有两个文件,我正在执行连接操作,如下所示:

  nmmadaan@nmmadaan] cat one.txt                                                                                                                                                                     ~
    a b
    e f
    c k
    nmmadaan@nmmadaan] cat two.txt                                                                                                                                                                     ~
    a h
    c j
    e p
    nmmadaan@nmmadaan] join one.txt two.txt                                                                                                                                                            ~
    a b h
    e f p
    nmmadaan@nmmadaan] join two.txt one.txt                                                                                                                                                            ~
    a h b
    e p f
Run Code Online (Sandbox Code Playgroud)

为什么加入two.txt,one.txt不会将第一列的行作为'c'.为什么两个人一起考虑第一列中的'e'行?

shell join

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

如何在SQL Server 2012中进行条件右连接?

假设我有两张这样的桌子

在此输入图像描述

现在我想要做正确的加入Menu_TableMenu_access_Table.

我想从中获取所有行Menu_Table.

SELECT
*
FROM
    Menu_Table
RIGHT JOIN 
    Menu_Access_Table ON Menu_Table.menu_id = Menu_Access_Table.menu_id
WHERE
    Menu_Access_Table.user_id=11
Run Code Online (Sandbox Code Playgroud)

如果user_id=11我下面没有条目,我仍然希望从中获取所有行Menu_Table!可能吗?我正在使用SQL Server 2012.

sql join sql-server-2012

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

非常基本的通用sql(效率)主体

在大多数情况下,这两个SQL语句中的哪一个会花费更少的时间?
1)

SELECT table_a.foo,
       table_b.zoo
FROM   table_a,
       table_b
WHERE  table_a.id = table_b.id
       AND table_b.bar = 'something'
Run Code Online (Sandbox Code Playgroud)

2)

SELECT table_a.foo,
       tableb.zoo
FROM   table_a,
       (SELECT *
        FROM   table_b
        WHERE  bar = 'something') AS tableb
WHERE  table_a.id = tableb.id 
Run Code Online (Sandbox Code Playgroud)

或者他们是一样的吗?
似乎(2)会更快......

sql performance select join

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

连接表的地方

我基本上有一个类似的查询:

SELECT * FROM news
LEFT JOIN tags ON tags.newsid = news.id
Run Code Online (Sandbox Code Playgroud)

现在让我们说,我希望得到所有news具有标记(tags表中的行)的行,其tags.name值为"test",另一个标记的tags.name值为"test2".所以基本上,我想检查连接表中的两个值,如果它们都在那里,那么返回该news行.

这怎么可能?很抱歉,如果之前有人询问,我真的不知道在搜索这个特定问题时我会使用哪种关键字,因为它非常复杂.

mysql join

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

左连接没有重复记录只显示1个最小值

我有一个table_1:

id  custno
1   1
2   2
3   3
Run Code Online (Sandbox Code Playgroud)

和table_2:

id  custno  qty
1   1       10 
2   1       7
3   2       4
4   3       7
5   1       5
6   1       5
Run Code Online (Sandbox Code Playgroud)

当我运行此查询以显示每个客户的最小订单数量时:

SELECT table_1.custno,table_2.qty 
FROM table_1 LEFT OUTER JOIN table_2 ON  table_1.custno = table_2.custno AND  
qty = (SELECT MIN(qty) FROM table_2  WHERE table_2.custno = table_1.custno   )
Run Code Online (Sandbox Code Playgroud)

然后我得到这个结果:

custno qty
1      5
1      5
2      4
3      7
Run Code Online (Sandbox Code Playgroud)

如何获得qty每个的最小值custno

我怎么能这样做?

谢谢!

sql join duplicates

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

SQL选择字段使用另一个表中的其他字段的一部分

您好我有以下两个表:

表A:

Field1 | Field2
---------------
9911-4 | 4800
9911-6 | 400
9911-9 | 480
785-25 | 455
6523-1 | 221
Run Code Online (Sandbox Code Playgroud)

在表B中我有:

ID   | Name
------------
9911 | A
785  | B
Run Code Online (Sandbox Code Playgroud)

因此,TableA中的Field1具有ID号,并且必须与TableB的字段ID连接.

输出必须是:

  ID   | Name
  ------------
  9911 | A
  785  | B
Run Code Online (Sandbox Code Playgroud)

但ID必须是TableA的Field1的JOINT.TableA中的Field1具有NUMBER-NUMBER,其中第一个数字是TableB的ID

提前致谢

mysql sql join inner-join

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

如何根据日期连接表

COMMISSION

PRODUCT_ID   DATE       COMMISSION
1           20110101       27.00     
1           20120101       28.00
1           20130705       30.00
2           20110101       17.00
2           20120501       16.00
2           20130101       18.00
...
Run Code Online (Sandbox Code Playgroud)

ORDER

PRODUCT_ID   DATE        PRICE
1            20110405      2500
2            20130402      3000 
2            20130101      1900
Run Code Online (Sandbox Code Playgroud)

期望的输出

PRODUCT_ID      DATE      PRICE       COMMISSION
1             20110405    2500         27.00
2             20130402    3000         16.00
2             20130101    1900         18.00
Run Code Online (Sandbox Code Playgroud)
  • Commission 表根据产品ID和日期记录佣金%.
  • Order 表基本上是特定日期下订单的记录,

我想加入两张桌子并根据订单日期提供适当的佣金.例如,您可以看到第一个订单的佣金为27.00,因为product_id 1的日期介于20110101和20120101之间.

我该怎么做呢?看起来像一个简单的1到n的关系,但我无法弄清楚.

sql join sql-server-2008

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

INNER JOIN对我不起作用

我正在尝试让我的SQL查询工作而且我失败了,所以我决定要求更多有经验和熟悉SQL人员,因为我不是这样.

我拥有:我的数据库中的2个表,一个是"DEV"表,其中包含:id, lat, lon, login, password第二个是"TASK"表,其中包含:id, lat, lon, address, id_dev.Id_dev是表"DEV"的外键.

我要做的是:进行查询以获取所有没有分配任务的DEV(在给定dev.id的表"task"中没有记录)并获得另一个具有任务的DEV列表.

我希望他们分开.我尝试了一些教程:

SELECT * FROM `dev` INNER JOIN 'task' ON dev.id=task.id_dev ORDER BY dev.id;
Run Code Online (Sandbox Code Playgroud)

但它对我不起作用.有什么建议吗?亲切的问候!

mysql sql select join left-join

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