标签: inner-join

如何从不同的数据上下文内连接表?

我有来自两个不同数据上下文的两个表.虽然两个表都来自同一个数据库,但存在两个独立的数据文件.

错误信息:

该查询包含对在不同数据上下文中定义的项的引用.

我怎么能绕过这个?任何帮助表示赞赏.谢谢.

.net c# linq inner-join linq-to-sql

8
推荐指数
3
解决办法
5万
查看次数

比较内连接和外连接SQL语句

内连接和外连接有什么区别?这两种连接的确切含义是什么?

sql inner-join outer-join

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

是否可以使用内连接条件delete_all?

我需要一次删除大量记录,我需要根据另一个与"belongs_to"关系相关的模型中的条件来执行此操作.我知道我可以遍历每个检查条件,但这需要我的大记录集永远,因为对于每个"belongs_to"它会进行单独的查询.

这是一个例子.我有一个"产品"模型"belongs_to"一个"艺术家",并且假设艺术家有一个属性"is_disabled".

如果我想删除属于残疾艺术家的所有产品,我希望能够做到这样的事情:

Product.delete_all(:joins => :artist, :conditions => ["artists.is_disabled = ?", true])
Run Code Online (Sandbox Code Playgroud)

这可能吗?我以前在SQL中直接完成了这个,但不确定是否可以通过rails完成.

ruby-on-rails inner-join

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

INNER JOIN的不明确的列名SQL错误:为什么?

以下代码将用于从两个表中选择数据:

SELECT t1.foo, t2.bar FROM TABLE1 t1 INNER JOIN TABLE2 t2 ON t1.foo=t2.foo
Run Code Online (Sandbox Code Playgroud)

我可以这么容易写

SELECT t2.foo, t2.bar FROM TABLE1 t1 INNER JOIN TABLE2 t2 ON t1.foo=t2.foo
Run Code Online (Sandbox Code Playgroud)

t1.foo或者t2.foo:一个或六个中的六个.为什么不foo呢?

我一直在想,为什么SQL服务器只是在没有指定一个表或另一个表的情况下自动返回数据,因为选择完全是任意的(据我所知).

我可以编写一个你需要指定表格的场景,例如

SELECT t1.foo, t2.bar FROM TABLE1 t1 INNER JOIN TABLE t2 ON t1.foo+=t2.foo
Run Code Online (Sandbox Code Playgroud)

但是,根据我的经验,这种情况远非常态.

任何人都可以告诉我为什么语言的设计,以便我必须在我的代码中做出这个看似随意的决定?

sql sql-server inner-join

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

加入FROM子句和WHERE子句有什么区别?

我们有一个Oracle 10g,我们的大多数应用程序都运行Oracle Forms 6i.我发现在views/packages/procedures/functions中编写的所有查询都是WHERE子句级别的JOINING表.例

SELECT * FROM
  TABLE_A A,
  TABLE_B B,
  TABLE_C C,
  TABLE_D D
WHERE 
    A.ID=B.ID(+)
AND B.NO=C.NO(+)
AND C.STATUS=D.ID
AND C.STATUS NOT LIKE 'PENDING%'
Run Code Online (Sandbox Code Playgroud)

此查询仅适用于ORACLE,因为它具有(+)在其他SQL平台中不可接受的连接限定符.以上查询相当于:

SELECT * FROM
  TABLE_A A LEFT JOIN TABLE_B B ON A.ID=B.ID
  LEFT JOIN TABLE_C C ON B.NO=C.NO
  JOIN TABLE_D D ON C.STATUS=D.ID
WHERE
      C.STATUS NOT LIKE 'PENDING%'
Run Code Online (Sandbox Code Playgroud)

我看到的非查询是在FROM子句中使用join进行编写的.

我的问题可以分为三个部分:

问:假设我有相同的Oracle环境,哪个查询在性能,缓存,CPU负载等方面更好.第一个(在WHERE加入)或第二个(在FROM加入)

问:是否有任何其他SQL实现接受(+)除oracle之外的连接限定符?如果是的话,哪个?

问:也许在WHERE子句中编写连接会使查询更具可读性,但会影响LEFT/RIGHT连接的能力,这就是为什么(+).我在哪里可以阅读更多关于它的起源(+)以及为什么它是专门为Oracle发明的?

sql oracle join inner-join outer-join

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

如何内部加入Excel(例如使用VLOOKUP)

有没有办法使用VLOOKUP内连接两个不同的Excel电子表格?

在SQL中,我会这样做:

SELECT id, name
FROM Sheet1
INNER JOIN Sheet2
ON Sheet1.id = Sheet2.id;
Run Code Online (Sandbox Code Playgroud)

工作表Sheet1:

+----+------+
| ID | Name |
+----+------+
|  1 | A    |
|  2 | B    |
|  3 | C    |
|  4 | D    |
+----+------+
Run Code Online (Sandbox Code Playgroud)

Sheet2中:

+----+-----+
| ID | Age |
+----+-----+
|  1 |  20 |
|  2 |  21 |
|  4 |  22 |
+----+-----+
Run Code Online (Sandbox Code Playgroud)

结果将是:

+----+------+
| ID | Name |
+----+------+
|  1 | A    | …
Run Code Online (Sandbox Code Playgroud)

sql excel inner-join vlookup

8
推荐指数
2
解决办法
3万
查看次数

在dplyr连接中忽略大小写敏感性

有没有办法在使用dplyr进行连接时忽略大小写敏感?左,内,全?

我认为它适用于选择,但这对我来说通常是一个巨大的痛苦.我知道我可以手动转换列toupper或tolower,但这将是一个有用的工作.

r inner-join left-join dplyr

8
推荐指数
2
解决办法
3550
查看次数

复杂连接的Hibernate映射

我有遗留代码,我试图映射到新代码.

OLD_PERSON
pid
sid
name
age

NEW_PERSON
pid
sid
fid
age

RESOLVE_PERSON
pid
fid
status
Run Code Online (Sandbox Code Playgroud)

Java类

domain.Person {
 ID _id;
 String _name;
 Integer _age;
}
Run Code Online (Sandbox Code Playgroud)

在传统世界中,只有一个表:OLD_TABLE.hibernate映射很简单,只有一个类及其列.在新的世界中,我必须使用上面的3个表并生成一个实体,其中名称来自OLD_PERSON,年龄来自NEW_PERSON.所以基本上SQL查询是:

select op.name as name, np.age as age
from OLD_PERSON op
INNER JOIN RESOLVE_PERSON rp
on rp.pid = op.pid
INNER JOIN NEW_PERSON np 
on np.pid = rp.pid and np.fid = rp.fid and np.sid = op.sid
where rp.status = 'CURRENT'
Run Code Online (Sandbox Code Playgroud)

经过研究/谷歌搜索,我发现我可以使用"辅助表",它相当于hibernate xml中的"JOIN表".注意:我不能使用注释,因为这段代码很旧,我仍然在使用hibernate3.5.6.

所以我在映射文件中添加了一个连接表:

<class name="domain.Person" table="OLD_PERSON">
        <composite-id name="_id" class="Id">
            <key-property access="property" …
Run Code Online (Sandbox Code Playgroud)

hibernate inner-join hibernate-mapping

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

如何在django中进行内部加入?

我想在html中显示出版物的城市,州和国家的名称.但他们在不同的表格中.

这是我的models.py

class country(models.Model):
    country_name = models.CharField(max_length=200, null=True)
    country_subdomain = models.CharField(max_length=3, null=True)
    def __str__(self):
        return self.country_name

class countrystate(models.Model):
    state_name = models.CharField(max_length=200, null=True)
    country = models.ForeignKey(country, on_delete=models.CASCADE, null=True)
    importance = models.IntegerField(null=True)
    def __str__(self):
        return self.state_name

class city(models.Model):
    city_name = models.CharField(max_length=200, null=True)
    countrystate = models.ForeignKey(countrystate, on_delete=models.CASCADE, null=True)
    def __str__(self):
        return self.city_name

class publication(models.Model):
    user = ForeignKey(users, on_delete=models.CASCADE, null=False)
    title= models.CharField(max_length=300, null=True)
    country=models.ForeignKey(country, on_delete=models.CASCADE, null=True)
    countrystate=models.ForeignKey(countrystate, on_delete=models.CASCADE, null=True)
    city=models.ForeignKey(city, on_delete=models.CASCADE, null=True)

    def __str__(self):
        return self.title
Run Code Online (Sandbox Code Playgroud)

这是我的views.py

def publications(request):
    mypublications = publication.objects.filter(user_id=request.session['account_id'])
    dic.update({"plist": …
Run Code Online (Sandbox Code Playgroud)

python mysql django orm inner-join

8
推荐指数
2
解决办法
2万
查看次数

SQL:多对多关系,IN条件

我有一个名为Transactions的事务表,它通过items_transactions表与项目建立多对多关系.

我想做这样的事情:

SELECT "transactions".* 
  FROM "transactions" 
INNER JOIN "items_transactions" 
        ON "items_transactions".transaction_id = "transactions".id 
INNER JOIN "items" 
        ON "items".id = "items_transactions".item_id 
WHERE (items.id IN (<list of items>))
Run Code Online (Sandbox Code Playgroud)

但是这给了我所有与列表中的一个或多个项目相关联的交易,我只希望它给我与所有这些项目相关联的交易.

任何帮助,将不胜感激.

sql select many-to-many join inner-join

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