[英]Select if exists in another table, with AND condition
即使在同一问题上有非常相似的主题,我也没有找到具体问题的答案。
这是我的数据库(MySQL):
Table urls
ID;URL
Table links
ID;TARGET;SOURCE
我希望 select 链接其 SOURCE 和 TARGET 存在于 urls 表中。
我猜子查询或左连接将是答案,但我似乎无法让它工作。
如果您的意思是同一链接行中的目标和源都必须存在于 urls 2 内部连接中,例如
DROP TABLE IF EXISTS LINKS,URLS;
CREATE Table urls
(ID INT,URL VARCHAR(3));
CREATE Table links
(ID INT,TARGET VARCHAR(3),SOURCE VARCHAR(3));
INSERT INTO URLS VALUES
(1,'AAA'),(2,'BBB'),(3,'CCC'),(4,'DDD');
INSERT INTO LINKS VALUES
(1,'AAA','BBB'),(2,'CCC','ZZZ'),(3,'ZZZ','DDD');
SELECT *
FROM LINKS
JOIN URLS U1 ON U1.URL = LINKS.SOURCE
JOIN URLS U2 ON U2.URL = LINKS.TARGET;
+------+--------+--------+------+------+------+------+
| ID | TARGET | SOURCE | ID | URL | ID | URL |
+------+--------+--------+------+------+------+------+
| 1 | AAA | BBB | 2 | BBB | 1 | AAA |
+------+--------+--------+------+------+------+------+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.