如何一次在sql中具有不同列名称的多个不同表中进行搜索?
SELECT * FROM Users WHERE user_name LIKE %$term%;
答案 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'