我对数据库并不是这样,我有以下疑问。我正在使用MySql。
我有两个查询都返回一条记录。
这样的事情:
QUERY 1:
select id_1, field_1.1, field_1.2,............., field_1.n where id=1;
返回包含以下内容的单个记录:
field_1.1, field_1.2,...............,field_1.n
QUERY 2:
select username, password from settings where id=1;
返回包含以下内容的单个记录:
username, password
我想创建一个单独的查询,将查询的结果合并到一个记录中,如:
field_1.1, field_1.2,...............,field_1.n, username, password
有可能以某种方式吗?
答案 0 :(得分:0)
是的,这很容易。只需一条记录,您就可以使用交叉联接:
select q1.field_1_1, q1.field_1_2, ... q1.field_1_n, q2.username, q2.password
from (query1) q1
cross join (query2) q2;
答案 1 :(得分:0)
由于它们只返回一条记录和两个不同的表,您可以使用:
select id_1, field_1.1, field_1.2,............., field_1.n,username,
password from table1,table2 where table1.id=1 and table2.id=1;
答案 2 :(得分:0)
如果你们之间没有关系,你可以像这样使用。 如果您没有列,请确保在两个查询中使用相同数据类型的列数相同,您可以将其设为空白,如“”
select max(id_1),max(field_1.1)......,max(username),max(password) from
(
select id_1, field_1.1, field_1.2,............., field_1.n,"" as username,"" as password
from Tabelname where id=1;
union all
select "","","","",....,"",username, password from settings where id=1
) group by username