1

你能帮帮我吗?我有这个 SQL 查询:

SELECT l.url 
FROM (b INNER JOIN links ON b.parent_id = l.id) 
INNER JOIN b ON l.id = b.link 
WHERE l.url LIKE 'http://domain%' LIMIT 0, 30

它以某种方式说

#1066 - Not unique table/alias: b
4

2 回答 2

11

您似乎从同一张表中选择了两次。这些事件中的每一个都需要自己的别名:

SELECT
    l.url
FROM
    b as b1 /* <-- */
    INNER JOIN links as l
      ON b1.parent_id = l.id
    INNER JOIN b as b2 /* <-- */
      ON l.id = b2.link
WHERE l.url LIKE 'http://domain%' LIMIT 0, 30

请注意,我还llinks表添加了缺少的别名。

于 2013-10-25T12:36:04.523 回答
0
SELECT l.url from b inner join links as l on l.id = l.parent_id
inner join b as b1 on b1.link = l.id
where l.url like 'http:domain%' limit 0,30

在此查询中,我们将两个表第一个 b 和第二个链接连接起来,并将 b 作为 b1 别名进行自我连接 ok

于 2014-08-08T12:21:33.007 回答