gpt4 book ai didi

mysql - 连接查询中创建的表中的 2 行

转载 作者:行者123 更新时间:2023-11-29 07:49:02 25 4
gpt4 key购买 nike

我有一张表,其中包含项目列表。每个项目有 2 个变体,但它们作为单个项目在此主表中。我想做的是两个变化的结果的笛卡尔积。

SELECT * FROM items

会给我

ID
1
2

我想要:

ID   Variation
1 a
1 b
2 a
2 b

这必须在查询中完成,因为还有另一个左连接。

我可以通过以下方式获得第一个变体:

SELECT * FROM items JOIN (SELECT 'a' as Variation) as v

但这只提供了我需要的 4 行中的 2 行。

我知道如果我有一个包含两行的实际变体表,那就可以了。是否可以创建两行?我也尝试过,但失败了:

SELECT * FROM items JOIN (SELECT ('a','b') as Variation) as v

最佳答案

如果您希望每行项目与 ab 配对,您可以这样做:

SELECT * FROM items
CROSS JOIN (
SELECT 'a' Variation
UNION ALL
SELECT 'b' Variation
) Variations

Sample SQL Fiddle

关于mysql - 连接查询中创建的表中的 2 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26934939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com