从一个表中选择与SQL的另一个表中的相同值相关联的唯一行对

野蛮的读者

我有三个表:DollsDressesWho wears what

娃娃桌:

Names    ID

连衣裙表:

Descriptions    ID

谁戴什么桌子:

Doll_ID   Dresses_ID

我如何找出两个娃娃穿着相同的衣服。我只想要唯一的一对。我管理的最好的方法是这样做,但是它没有唯一的对:

SELECT 
    "Dolls"."Name", "Dolls2"."Name", "Dresses"."Description" AS "Dresses" 
FROM 
    "Dolls", "Dolls" AS "Dolls2", "Who wears what" AS "WWW", 
     "Who wears what" AS "WWW2", "Dresses" 
WHERE 
    "WWW"."Panenka" = "Dolls"."ID"
    AND "WWW2"."Panenka" = "Dolls2"."ID" 
    AND "Dresses"."ID" = "WWW"."Dresses" 
    AND "Dresses"."ID" = "WWW2"."Dresses" 
    AND "Dolls"."ID" != "Dolls2"."ID"

样本数据:

玩偶

1, Vera
2, Mary
3, Viki

连衣裙

1, Short
2, Skimpy
3, See-through

WWW(娃娃,连衣裙)

1, 1
2, 1
3, 3

所需的输出:

Vera, Mary, Short
塞尔皮顿

一种可能性是从得到WWW由多于一个娃娃穿着的衣服,拿到相关的Doll_IDMINMAX,因为只有2需要)和JOIN那些ID回娃娃表

SELECT d1.Names Doll_1, d2.Names Doll_2, Dress.Descriptions
FROM   Dolls d1
       INNER JOIN (SELECT max(Doll_ID) D1ID, min(Doll_ID) d2ID, D.Descriptions
                   FROM   WWW W
                          INNER JOIN Dresses D ON W.Dresses_ID = D.ID
                   GROUP BY D.Descriptions
                   HAVING   COUNT(DISTINCT Doll_ID) > 1) Dress 
               ON d1.ID = Dress.d1ID
       INNER JOIN Dolls d2 ON d2.ID = Dress.d2ID

SQLFiddle demo

这两个玩偶势必会有所不同,因为如果存在多个不同ID MINMAX不能相同的值

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从一个表中选择与客户或另一表中的“ Customers”子项相关联的票证记录

来自分类Dev

SQL查询以基于另一个表中的列值从一个表中选择

来自分类Dev

根据另一个表从一个表中选择唯一行,然后对其进行排序

来自分类Dev

如何从一个表(具有两列的唯一组合)中选择所有SQL行,而另一个表中没有相同的组合

来自分类Dev

Oracle SQL从一个表中选择与另一个表相关的数据

来自分类Dev

根据另一个表中的引用值从一个表中选择值

来自分类Dev

SQL查询从一个表中选择不在另一表中的行

来自分类Dev

从一个表中选择行,其中在MYSQL中从另一个表中选择值和顺序

来自分类Dev

根据另一个表中的关键字从一个表中选择行

来自分类Dev

根据另一个表中的选定行从一个表中选择数据

来自分类Dev

SQL查询-从一个表中选择全部,在另一个表中匹配记录

来自分类Dev

MySQL从一个表中选择并检入另一个表中是否存在相同的值

来自分类Dev

SQL从一个表中选择项目,从另一个表中选择条件

来自分类Dev

在列中显示唯一值以及与每个值相关联的另一个值

来自分类Dev

如何从一个表中选择一个值,而在另一个表中满足两个单独的条件对

来自分类Dev

Mysql从一个表中选择动态行值作为列名,从另一个表中选择值

来自分类Dev

从与同一表中的另一个值匹配的行中选择一个值

来自分类Dev

从一个表中选择另一个不存在的表

来自分类Dev

从一个表中选择,从另一个表中计数

来自分类Dev

根据另一个表的频率从一个表中选择列?

来自分类Dev

Lua-从一个范围(或表)中选择一个随机值,但不包括一个(或另一个)表的值

来自分类Dev

SQL:如何从另一个表中的一个表中选择不同的值?

来自分类Dev

SQL:如何从另一个表中的一个表中选择不同的值?

来自分类Dev

使用一行从另一个表中选择两行

来自分类Dev

MySQL:如何从一个表中选择从另一个表获取的每个间隔之间的行

来自分类Dev

从一个表中选择记录,而另一个表中没有两列

来自分类常见问题

从一个表中选择用户标识,然后在另一个表中更新

来自分类Dev

如何从一个表中选择数据并插入另一个表中?

来自分类Dev

如何从一个表中选择另一个表中没有外键的记录

Related 相关文章

  1. 1

    从一个表中选择与客户或另一表中的“ Customers”子项相关联的票证记录

  2. 2

    SQL查询以基于另一个表中的列值从一个表中选择

  3. 3

    根据另一个表从一个表中选择唯一行,然后对其进行排序

  4. 4

    如何从一个表(具有两列的唯一组合)中选择所有SQL行,而另一个表中没有相同的组合

  5. 5

    Oracle SQL从一个表中选择与另一个表相关的数据

  6. 6

    根据另一个表中的引用值从一个表中选择值

  7. 7

    SQL查询从一个表中选择不在另一表中的行

  8. 8

    从一个表中选择行,其中在MYSQL中从另一个表中选择值和顺序

  9. 9

    根据另一个表中的关键字从一个表中选择行

  10. 10

    根据另一个表中的选定行从一个表中选择数据

  11. 11

    SQL查询-从一个表中选择全部,在另一个表中匹配记录

  12. 12

    MySQL从一个表中选择并检入另一个表中是否存在相同的值

  13. 13

    SQL从一个表中选择项目,从另一个表中选择条件

  14. 14

    在列中显示唯一值以及与每个值相关联的另一个值

  15. 15

    如何从一个表中选择一个值,而在另一个表中满足两个单独的条件对

  16. 16

    Mysql从一个表中选择动态行值作为列名,从另一个表中选择值

  17. 17

    从与同一表中的另一个值匹配的行中选择一个值

  18. 18

    从一个表中选择另一个不存在的表

  19. 19

    从一个表中选择,从另一个表中计数

  20. 20

    根据另一个表的频率从一个表中选择列?

  21. 21

    Lua-从一个范围(或表)中选择一个随机值,但不包括一个(或另一个)表的值

  22. 22

    SQL:如何从另一个表中的一个表中选择不同的值?

  23. 23

    SQL:如何从另一个表中的一个表中选择不同的值?

  24. 24

    使用一行从另一个表中选择两行

  25. 25

    MySQL:如何从一个表中选择从另一个表获取的每个间隔之间的行

  26. 26

    从一个表中选择记录,而另一个表中没有两列

  27. 27

    从一个表中选择用户标识,然后在另一个表中更新

  28. 28

    如何从一个表中选择数据并插入另一个表中?

  29. 29

    如何从一个表中选择另一个表中没有外键的记录

热门标签

归档