【发布时间】:2020-08-05 14:33:19
【问题描述】:
我有一个这样的Table1:
ID | Name | Occupation
----------------------------
1 | Garfield | Student
另一个Table 2 是这样的:
ID | Name | Occupation
----------------------------
1 | Garfield | Stud
我的预期输出是这样的:
Table1.ID | Table1.Name | Table1.Occupation | Table2.ID | Table2.Name | Table2.Occupation
---------------------------------------------------------------------------------------------------
1 | Garfield | Student | NULL | NULL | NULL
NULL | NULL | NULL | 1 | Garfield | Stud
我的查询是:
SELECT *
FROM table1 t1
FULL JOIN table2 t2
ON t1.id = t2.id
AND t1.name = t2.name
AND (t1.occupation ILIKE ('%' || t2.occupation || '%') OR t2.occupation ILIKE ('%' || t1.occupation || '%'))
;
但是这个查询给了我以下输出:
Table1.ID | Table1.Name | Table1.Occupation | Table2.ID | Table2.Name | Table2.Occupation
---------------------------------------------------------------------------------------------------
1 | Garfield | Student | NULL | NULL | NULL
我哪里出错了?有人可以帮忙解决这个问题吗?
【问题讨论】:
-
@asantz96:
ILIKE不是LIKE的“对立面”,它是不区分大小写的LIKE。 -
@Garfield 。 . .你的结果有问题。您应该在结果集中至少看到两个表中的所有行。
标签: sql amazon-redshift