如何从中的许多表中使用LIKE加入SELECT?
我试图创建一个查询,搜索所有共享类似属性的记录,如下所示:如何从中的许多表中使用LIKE加入SELECT?,select,sql-like,Select,Sql Like,我试图创建一个查询,搜索所有共享类似属性的记录,如下所示: select * from table_A where fullname like in (select firstname from employees where X) 唯一的问题是,这只是我的伪代码,我实际上是在对许多表进行排序,所以我当前的实际查询看起来像: select * from devices where devicename like in (select X from X1 where T in (select
select * from table_A
where fullname like in (select firstname from employees where X)
唯一的问题是,这只是我的伪代码,我实际上是在对许多表进行排序,所以我当前的实际查询看起来像:
select * from devices
where devicename like in (select X from X1 where T in (select T from T1 where Y in (select Y from Y1 where Z in (select Z from Z1 where AreaName = '74';
我试图使用join命令,但对如何将其应用于这种情况感到非常困惑。好的,我给您第二个带有join语法的查询(我尝试): 试试这个:
SELECT d.*
FROM devices d
INNER JOIN X1 ON d.`like` = x1.X
INNER JOIN T1 ON x1.T = T1.T
INNER JOIN Y1 ON T1.Y = Y1.Y
INNER JOIN Z1 ON Y1.Z = Z1.Z
WHERE Z1.AreaName = '74'
“join”命令运行两个表的叉积,然后仅选择公共列名具有相同值的元组/行
因此,对于您的查询:
select * from table_A
where fullname like in (select firstname from employees where X)
将是:
select * from table_A
left join employees
on table_A.fullname = employees.firstname
where X
尝试:
给你
SELECT D.*
from Devices D
inner join X1 X on D.devicename like X.X
inner join T1 T on T.T = X.T
inner join Y1 Y on Y.Y = T.Y
inner join Z1 Z on Y.Z = Z1.Z AND Z.Areaname = '74';
SELECT d.*
FROM devices d
INNER JOIN X1 ON d.devicename like '%'||x1.X||'%'
INNER JOIN T1 ON x1.T = T1.T
INNER JOIN Y1 ON T1.Y = Y1.Y
INNER JOIN Z1 ON Y1.Z = Z1.Z
WHERE Z1.AreaName = '74'
SELECT D.*
from Devices D
inner join X1 X on D.devicename like X.X
inner join T1 T on T.T = X.T
inner join Y1 Y on Y.Y = T.Y
inner join Z1 Z on Y.Z = Z1.Z AND Z.Areaname = '74';