SQL从两个表中选择一个值

时间:2011-07-25 11:35:59

标签: mysql sql database

我有以下SQL:

SELECT * FROM `table` WHERE `code` = 15510642

我想修改它以便它也检查另一个表,例如:

SELECT * FROM `table`,`table2` WHERE `code` = 15510642

然而,这不起作用。请帮忙!

3 个答案:

答案 0 :(得分:5)

海报可能意味着UNION,因为他想要两张桌子的结果?

SELECT * FROM `table` WHERE `code` = 15510642
UNION [ALL]
SELECT * FROM `table2` WHERE `code` = 15510642

仅当两个表包含相同列(或指定它们*

时才有效

答案 1 :(得分:1)

如果他们之间存在关系,你必须加入这些表格。

select * from table as t1, table2 as t2 where t1.code = 15510642 or t2.code=15510642
and t1.id = t2.foreignkeyid

如果没有关系你可以尝试联盟,但字段必须匹配。因此,只使用两个表中匹配的字段。

select id, somefield, somefield2 from table1 where code = 15510642
union
select id, somefield, somefield2 from table2 where code = 15510642

答案 2 :(得分:0)

使用inner join

这将是

SELECT * 
FROM Table t INNER JOIN table2 t2 
ON t.Code = t2.Code
WHERE t.Code = 15510642 

我希望这有帮助!

Tjeu