从两个不同的表中匹配两个不同的列

时间:2014-10-06 09:09:07

标签: mysql

我有两个表:table1和table2使用数据库mysql。

table1的字段:usrnm1,ques1 table2的字段:usrnm2,ques2

table1的数据:abc,xyz table2的数据:pqr,def

以html格式,我从用户那里获取用户名。 我想在其他输入标签中检索相应的问题。

如何检查这两个表中的输入(按用户)并检索相应的问题。

我想要这些类型的输出: 如果用户输入abc,那么我想要xyz作为输出。 如果用户输入pqr,那么我想要def作为输出。

1 个答案:

答案 0 :(得分:0)

如果重命名字段以使它们匹配,则可以组合2表。

所以你可以这样做:

(SELECT usrnm1 as usrnm, ques1 as ques FROM table1 WHERE usrnm1 = "abc")
UNION
(SELECT usrnm2 as usrnm, ques2 as ques FROM table2 WHERE usrnm2 = "abc");

或者像这样:

SELECT * FROM (
  (SELECT usrnm1 as usrnm, ques1 as ques FROM table1)
  UNION
  (SELECT usrnm2 as usrnm, ques2 as ques FROM table2)
) a WHERE usrnm = "abc";