gpt4 book ai didi

MySql,内连接查询,必须匹配多行

转载 作者:可可西里 更新时间:2023-11-01 07:23:33 24 4
gpt4 key购买 nike

我正在做一个 MySQL 查询,我想在其中检索一个 ID,但前提是我在查询中指定的所有行中都找到了匹配项。

Table: view_layout_rows

ID owner rows
___________________
49 1 2
50 1 2




Table: view_layout_rows_columns

ID row columns
___________________
49 1 5
49 2 4
50 1 5
50 2 5



SELECT vlr.id
FROM view_layout_rows vlr
INNER JOIN view_layout_rows_columns vlrc
ON vlr.id = vlrc.id
WHERE vlr.rows = 2
AND (vlr.owner = 0 OR vlr.owner = 1)

并且应满足以下所有条件:

(vlrc.row = 1 AND vlrc.columns = 5) 
(vlrc.row = 2 AND vlrc.columns = 5)

只应返回 ID 50。不应返回 49,因为它仅满足最后两个子句中的第一个。

我该怎么做呢?(请注意,我之前问过这个问题,但我的要求不清楚。第二次尝试。)提前感谢您的任何建议。

最佳答案

双人加入营救! :-)

SELECT vlc.* 
FROM view_layout_rows vlc
INNER JOIN view_layout_rows_columns vlrc1 ON vlrc1.id = vlc.id
INNER JOIN view_layout_rows_columns vlrc2 ON vlrc2.id = vlc.id
WHERE vlrc1.row = 1 AND vlrc1.columns = 5
AND vlrc2.row = 2 AND vlrc2.columns = 5

/* imported from original query */
AND vlr.rows = 2
AND (vlr.owner = 0 OR vlr.owner = 1);

关于MySql,内连接查询,必须匹配多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8740401/

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