我希望有人可以帮我查询MySQL查询。
我正在尝试在MySQL数据库中创建一个查询,该查询找到与Table_A的column_1中的字符串'foo'匹配的所有行,然后使用'foo'搜索这些行,并在Table_A的column_2中搜索所有值'bar'返回Table_b中包含column_8中“bar”的所有行。
我的初始查询是:
SELECT * FROM TABLE_A WHERE column_1 LIKE 'foo';
上述查询仅查找与Table_A的column_1中的字符串'foo'匹配的所有数据。我需要添加哪些代码才能获得上述结果并使用Table_A column_2来搜索Table_B的column_8中的匹配项?我似乎无法弄清楚如何执行此查询。
提前感谢您提供的任何帮助。
答案 0 :(得分:3)
从您的描述中不清楚这是否正确,但听起来您正在寻找JOIN
SELECT *
FROM
TABLE_A a
INNER JOIN TABLE_B b
ON a.column_2 = b.column_8
WHERE
a.column_1 LIKE 'foo'
and a.column_2 = 'bar'
答案 1 :(得分:1)
您可以使用子查询选择表b中的值,以与表A中的列进行比较:
select * from tableA
Where column1 = 'foo'
and column2 in (select disitnct column8 from tableB where xxxxxxxxx)
答案 2 :(得分:0)
http://dev.mysql.com/doc/refman/5.0/en/join.html
例如:
SELECT * FROM TABLE_A
LEFT JOIN TABLE_B
USING(COLUMN TO MATCH ON)
WHERE TABLE_A.column_1 LIKE 'foo'
AND TABLE_B.column_8 LIKE 'bar';
我并不完全清楚你实际上在做什么,这可能不是你需要的确切代码。
答案 3 :(得分:0)
SELECT * FROM TABLE_A INNER JOIN TABLE_B ON TABLE_A.COLUMN_1 ='foo'AND TABLE_A.COLUMN_2 ='bar'AND TABLE_B.COLUMN_8 ='bar'
这可以在SQL服务器上运行,在MySQL上可能是相同的。试试吧! 您可以在联接中使用多个条件。