Lem*_*mmy 4 mysql sql inner-join
我正在创建一个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)
Run Code Online (Sandbox Code Playgroud)
并且应满足以下所有条件:
(vlrc.row = 1 AND vlrc.columns = 5)
(vlrc.row = 2 AND vlrc.columns = 5)
Run Code Online (Sandbox Code Playgroud)
只返回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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6064 次 |
| 最近记录: |