A çapraz katılmak koşul olmaksızın katılırlar. MySQL/join
/inner join
cross join
özdeş olduğunu
FROM table_a a
CROSS JOIN table_b b
Not: bir çapraz tekrarlar sağ tablosundaki her satır için sol tablo her satır katılması. Yani yazabiliriz: çapraz katılmak olarak
FROM table_a a
JOIN table_b b
sürece on
maddesini ihmal olarak, bu işe yarar.
İki tablodan iki sütun toplamak isterseniz, satırları tekrarladığından çapraz birleştirmeler işe yaramaz. Çok şişirilmiş numaralar alırsın. Toplamlar için daha iyi bir yaklaşım, @sgeddes yanıtı başına alt sorgular kullanır. Tablolar arasında cross join
Doing
select a.suma, b.sumb, a.suma - b.sumb
from (select sum(a.column1) as suma from tablea) a cross join
(select sum(b.column1) as sumb from tableb) b
:
Daha sonra ilk özetlemek ve istediğiniz
SELECT
table_a_sum,
table_b_sum,
table_a_sum - table_b_sum AS difference
FROM
(SELECT SUM(column1) table_a_sum FROM table_a) a,
(SELECT SUM(column1) table_b_sum FROM table_b) b
Bir yan not olarak '' '' '' '' '' '' '' 'tablonun özelliklerini kullanmak zorunda değilsiniz tablodan select 1'den 1'e tabloA iç birleştirme tablosuna * sahip olabilirsiniz ve bir çapraz birleştirmeyle aynı şeyi elde edersiniz –