表上的SQL联接与源表不同

表上的SQL联接与源表不同,sql,Sql,我有以下SQL语句: select distinct u.id, v1.code, v2.code, a1.phone, a1.phone1, SUM(o1.totalprice) as SALES SUM(ot4.numbers) as NUMBERS from users u, orders o2 inner join values v1 on v1.pk = u.gender inner join values v2 on v2.pk = u.e

我有以下SQL语句:

select distinct
  u.id, 
  v1.code,
  v2.code,
  a1.phone,
  a1.phone1,
  SUM(o1.totalprice) as SALES
  SUM(ot4.numbers) as NUMBERS
from 
  users u,
  orders o2
 inner join values v1 on v1.pk = u.gender
 inner join values v2 on v2.pk = u.egistration
 inner join addresses a1 on a1.owner = u.pk 
 inner join orders o1 on o1.userpk = u.pk
 inner join orderthings ot4 on ot4.orderpk = o2.pk 
where 
  u.cccustomer = 1
and
  v2.code = 'REGISTERED'
group by
  u.id, 
  v1.code,
  v2.code,
  a1.phone,
  a1.phone1
order by 
  id;
基本上,orders上的连接不起作用,但是我需要得到与用户u没有关系的两个表上的附加关系。如何实现这一点?

基于您的,如果您的表彼此不相关,那么您可以使用
交叉连接来连接它们,类似于此:

select u.Email, 
  v1.String Gender, 
  v2.String Title, 
  o.a_string, 
  o.o_string
from users u
inner join value v1
   on u.Gender = v1.PK
inner join value v2
   on u.Title = v2.PK
cross join
(
  select a.PK, a.string a_string, o.string o_string
  from another a
  inner join other o
    on a.PK = o.PK
) o;
请参见

基于您的,如果您的表彼此不相关,则可以使用
交叉联接
来联接它们,类似于以下内容:

select u.Email, 
  v1.String Gender, 
  v2.String Title, 
  o.a_string, 
  o.o_string
from users u
inner join value v1
   on u.Gender = v1.PK
inner join value v2
   on u.Title = v2.PK
cross join
(
  select a.PK, a.string a_string, o.string o_string
  from another a
  inner join other o
    on a.PK = o.PK
) o;

请参见

以澄清:我认为from中的第二个表格已经错了。我不知道如何从与用户u无关的两个表中添加联接。要获取笛卡尔积,或每个结果行的所有用户,请在from子句中列出表,不带任何ON引用。@BenSchnitzel能否发布表结构和示例数据以及所需的结果?或者更好地创建一个具有工作数据模型的sql FIDLE。这里可能重复我正在尝试的操作:使用第二个不包含u的联接,但在具有u上联接的同一查询中获取an.string:澄清一下:我认为from中的第二个表已经错了。我不知道如何从与用户u无关的两个表中添加联接。要获取笛卡尔积,或每个结果行的所有用户,请在from子句中列出表,不带任何ON引用。@BenSchnitzel能否发布表结构和示例数据以及所需的结果?或者更好地创建一个具有工作数据模型的sql FIDLE。这里可能重复我正在尝试的操作:使用第二个连接,该连接不包含u,但在u上有连接的同一查询中获取an.string: