标签: outer-join

如何外部连接两个表(主表和多对一子表)以仅从第二个表中获取一项?

我有两个类似这样的表:

主表:id(int)、title(varchar)等子表:main_table_id(主表的外键)、tag(varchar)等

主表中的给定行可以有零个或多个子表行。

我想做一个查询,将返回主表的每一行,主表的列,以及子表的单行(无关紧要)的列,如果有的话,否则在这些列中为 NULL。

当然,如果我只是做一个基本的 LEFT OUTER JOIN 那么我当然会多次重复主表,子表中的每个匹配项都重复一次。

我确定我在使用 LEFT OUTER JOIN 和某种强制只从子表中选择一行而不是所有行的技巧之前已经看到过这样做了——也许选择最小或最大 OID。然而,一个多小时的谷歌搜索并没有产生任何解决方案。

有人在他们的工具带中有这个技巧吗?

sql postgresql join outer-join

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

带外连接的递归查询?

我正在尝试以下查询,

DECLARE @EntityType varchar(25)
SET @EntityType = 'Accessory';

WITH Entities (
        E_ID, E_Type,
        P_ID, P_Name, P_DataType, P_Required, P_OnlyOne,
        PV_ID, PV_Value, PV_EntityID, PV_ValueEntityID,
        PV_UnitValueID, PV_UnitID, PV_UnitName, PV_UnitDesc, PV_MeasureID, PV_MeasureName, PV_UnitValue,
        PV_SelectionID, PV_DropDownID, PV_DropDownName, PV_DropDownOptionID, PV_DropDownOptionName, PV_DropDownOptionDesc,
        RecursiveLevel
    )
AS
(
    -- Original Query
    SELECT dbo.Entity.ID AS E_ID, dbo.EntityType.Name AS E_Type,
    dbo.Property.ID AS P_ID, dbo.Property.Name AS P_Name, DataType.Name AS P_DataType, Required AS P_Required, OnlyOne AS P_OnlyOne,
    dbo.PropertyValue.ID AS PV_ID, dbo.PropertyValue.Value AS PV_Value, dbo.PropertyValue.EntityID AS PV_EntityID, dbo.PropertyValue.ValueEntityID AS PV_ValueEntityID,
    dbo.UnitValue.ID AS PV_UnitValueID, dbo.UnitOfMeasure.ID …
Run Code Online (Sandbox Code Playgroud)

sql sql-server recursive-query outer-join

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

ChartJS v2 - 将鼠标悬停在饼图/甜甜圈部分上时的外弧

我需要使用 ChartJS v2 创建一个饼图/圆环图,当用户将鼠标悬停在其上时,它会显示分段的外弧。类似这样的事情:

外弧

有谁知道我怎样才能实现这一目标?

非常感谢 :)

outer-join automatic-ref-counting chart.js

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

R dplyr full_join - 没有公共键,需要公共列混合在一起

例如,我有这两个数据框:

dates = c('2020-11-19', '2020-11-20', '2020-11-21')
df1 <- data.frame(dates, area = c('paris', 'london', 'newyork'), 
                  rating = c(10, 5, 6),
                  rating2 = c(5, 6, 7))

df2 <- data.frame(dates, area = c('budapest', 'moscow', 'valencia'), 
                  rating = c(1, 2, 1))
Run Code Online (Sandbox Code Playgroud)
> df1
       dates    area rating rating2
1 2020-11-19   paris     10       5
2 2020-11-20  london      5       6
3 2020-11-21 newyork      6       7
> df2
       dates     area rating
1 2020-11-19 budapest      1
2 2020-11-20   moscow      2
3 2020-11-21 valencia      1
Run Code Online (Sandbox Code Playgroud)

使用 dplyr 执行外连接时:

df <- …
Run Code Online (Sandbox Code Playgroud)

r outer-join dplyr

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

Jquery:animate .outerWidth()?

动画宽度切换时,它不是动画填充,所以我查看.outerWidth(),但我不确定如何实现这个...

$('#shareheart').click(function(){
    $('.share-text').animate({outerWidth: 'toggle'}, 2000)
})
Run Code Online (Sandbox Code Playgroud)

jquery toggle outer-join width jquery-animate

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

慢查询LEFT OUTER JOIN Mysql

谢谢,你能帮助我吗,我正在迁移一个应用程序并转到mysql 5.5非常慢的查询返回非常感谢你的帮助.

SELECT DISTINCT b.cc46_cc55_field_id_id AS row_id, t0.cc46_value AS f_264, t1.cc46_value AS f_265, t2.cc46_value AS f_266
FROM tc46_fields_values b 
LEFT OUTER JOIN tc46_fields_values t0 ON b.cc46_cc55_field_id_id = t0.cc46_cc55_field_id_id 
  AND t0.cc46_cc26_field_id = 264 
LEFT OUTER JOIN tc46_fields_values t1 ON b.cc46_cc55_field_id_id = t1.cc46_cc55_field_id_id 
  AND t1.cc46_cc26_field_id = 265 
LEFT OUTER JOIN tc46_fields_values t2 ON b.cc46_cc55_field_id_id = t2.cc46_cc55_field_id_id 
  AND t2.cc46_cc26_field_id = 266
WHERE b.cc46_cc55_field_id_id IN (5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936,5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952,5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968,5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984,5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000,6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016,6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032,6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048,6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064,6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096,6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112,6113,6114,6115,6116,6117,6118,6119,6120,6121,6122,6123,6124,6125,6126,6127,6128,6129,6130,6131,6132,6133,6134,6135,6136,6137,6138,6139,6140,6141,6142,6143,6144,6145,6146,6147,6148,6149,6150,6151,6152,6153,6154,6155,6156,6157,6158,6159,6160,6161,6162,6163,6164,6165,6166)
Run Code Online (Sandbox Code Playgroud)

mysql join outer-join

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

Linq To Entities中的左外连接(无法在LINQ to Entities查询中构造实体或复杂类型.)

我有两个类映射我的数据库的两个表:

public class Product
{
    public int Id { get; set; }
    public string Token { get; set; }
    public string Name { get; set; }
    public decimal Value { get; set; }
}

public class Ticket
{
    public int Id { get; set; }
    public string SerialNumber { get; set; }
    public string ProductToken { get; set; }
    public Product Product { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

由于某些域名原因,产品和故障单在逻辑上是链接的,换句话说,它们没有链接在可由EF映射的数据库关系中,它们将在我的应用程序中链接一个"必须"翻译成的linq查询SQL外左连接.从这里,我做了以下查询:

IQueryble<Ticket> query = from ts in context.Tickets
                          join ps in context.Products 
                               on …
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-entities outer-join

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

SELECT*FROM tableA,tableB WHERE条件[+]

我有以下查询

SELECT * 
FROM tableA, tableB
WHERE Conditions [+]
Run Code Online (Sandbox Code Playgroud)

这个关键字条件[+]代表什么?此查询如何表现为外部联接?

sql oracle outer-join full-outer-join

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

LEFT OUTER JOIN没有显示所有行?

我正在尝试使用连接从一个SQL语句中获取2个表中的数据.这个想法很简单.项目有参与者,在项目概述中,我想用参与者的数量显示项目信息.

现在有2个项目,一个项目有参与者,另一个项目没有参与者.

我用这个查询:

SELECT SQL_CALC_FOUND_ROWS `p`.`id`,
       `p`.`title`, 
       `p`.`live`, 
       `p`.`startDate`,
       `p`.`endDate`, 
       COUNT(`part`.`id`) AS `participants`
FROM `projects` `p`
LEFT OUTER JOIN `participants` `part`
    ON `p`.`id`  = `part`.`projectid`
ORDER BY `p`.`live` DESC, 
         `p`.`startDate` DESC
LIMIT 0,10
Run Code Online (Sandbox Code Playgroud)

问题是,此查询仅返回带有参与者的项目,而没有参与者的项目则被忽略.

我在这做错了什么?

mysql sql left-join outer-join

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

MYSQL计数,在简单情况下,LEFT OUTER JOIN的计数为0

考虑以下两个示例表

表1:“用户”

ID    REGISTER_TIME    FIRSTNAME    LASTNAME    OPERATION_ID

1     1401789877       John         Doe         29
2     1401789879       Jack         Doe         29
3     1401789878       Pete         Doe         29
Run Code Online (Sandbox Code Playgroud)

(请注意,register_time列存储为INT(11))

表2:“ calendar_days”

ID    DAY
1     2011-01-01
...   ....
n     2030-31-12
Run Code Online (Sandbox Code Playgroud)

我有以下运行良好的MySQL查询:

SELECT d.day, COUNT(d.day)
FROM calendar_days AS d
LEFT OUTER JOIN users AS l ON DATE(FROM_UNIXTIME(l.`register_time`)) = d.day
WHERE l.`operation_id` = 29
GROUP BY d.day;
Run Code Online (Sandbox Code Playgroud)

但这并不能保留count等于零的日子:

day;COUNT(d.day)

2014-05-07;1
2014-05-09;1
2014-05-12;11
2014-05-13;2713
2014-05-14;2631
Run Code Online (Sandbox Code Playgroud)

我想要的是 :

2014-05-07;1
**2014-05-08;0**
2014-05-09;1
2014-05-12;11
2014-05-13;2713
2014-05-14;2631
Run Code Online (Sandbox Code Playgroud)

我觉得我离真相很近,我已经尝试过任何可能的左外连接,右外连接,但仍然没有空结果。

mysql join count outer-join zero

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