我如何一次在多个不同的表中用sql中的不同列名进行搜索?

时间:2019-07-10 05:13:42

标签: sql

如何一次在sql中具有不同列名称的多个不同表中进行搜索?

SELECT * FROM Users WHERE user_name LIKE %$term%;

1 个答案:

答案 0 :(得分:0)

如果您使用的是SQL Server,我认为这就是您要寻找的东西。

CREATE TABLE a (SerialNo varchar(254))
GO

CREATE TABLE b (id int, digit varchar(254))
GO

INSERT INTO a (SerialNo) VALUES ('one')
INSERT INTO a (SerialNo) VALUES ('tone')
INSERT INTO a (SerialNo) VALUES ('phone')
INSERT INTO a (SerialNo) VALUES ('two')
INSERT INTO a (SerialNo) VALUES ('three')

INSERT INTO b (id, digit) VALUES (2, 'ne')
INSERT INTO b (id, digit) VALUES (3, 't')

SELECT a.SerialNo
FROM a
INNER JOIN b ON a.SerialNo LIKE '%' + b.digit
WHERE b.id = 2

以下是上述查询的结果。

one
tone
phone

还有另一个您可以这样编写的查询。

SELECT a.SerialNo, b.digit
FROM someTable a
INNER JOIN someOtherTable b
ON a.someField = b.someField
WHERE a.SerialNo LIKE 'SOMETHING%'
AND b.digit LIKE '%SOMETHING ELSE'