加入两个不相关的SELECT查询

时间:2014-06-11 23:15:34

标签: mysql sql

我需要将两个不相关的SQL SELECTS连接到一个表中。

我试过JOINS,UNIONS,CROSS JOINS ......请帮忙:)。

FRIST:

SELECT korisnici.ime, korisnici.prezime, dosje_osobe.datum_kreacije FROM `dosje_osobe` INNER JOIN korisnici ON dosje_`enter code here`osobe.korisnici_idkorisnici=korisnici.idkorisnici

RETURNS:

ime prezime datum_kreacije
John    Doe 2014-06-12

SECOND:

SELECT  kategorije_prek.naziv , prekrsaji.opis_prekrsaja  FROM kategorije_prek LEFT OUTER JOIN prekrsaji_has_kategorije_prek ON kategorije_prek.idkategorije_prek = prekrsaji_has_kategorije_prek.kategorije_prek_idkategorije_prek LEFT OUTER JOIN prekrsaji ON prekrsaji_has_kategorije_prek.prekrsaji_idprekrsaji=prekrsaji.idprekrsaji

RETURNS:

naziv   opis_prekrsaja
Krađa   Ukrao teniske loptice

RESULT needed:

ime  |    prezime  |    datum_kreacije   |     naziv   |     opis_prekrsaja
John      Doe           2014-06-12             Krađa         Ukrao teniske loptice

2 个答案:

答案 0 :(得分:2)

好吧,如果没有连接它们,那么请使用cross join。这将给出所有组合:

SELECT *
FROM (SELECT k.ime, k.prezime, o.datum_kreacije
      FROM `dosje_osobe` o INNER JOIN
           korisnici k
           ON o.korisnici_idkorisnici = k.idkorisnici
     ) ko CROSS JOIN
     (SELECT k.naziv, p.opis_prekrsaja
      FROM kategorije_prek p LEFT OUTER JOIN
           prekrsaji_has_kategorije_prek ph
           ON k.idkategorije_prek = ph.kategorije_prek_idkategorije_prek LEFT OUTER JOIN
           prekrsaji p
           ON ph.prekrsaji_idprekrsaji = p.idprekrsaji
     ) kp;

答案 1 :(得分:0)

如果你的意思是你想从2个表中选择数据

使用左连接将完成工作

select * from table1 left join table2 on table1.column=table2.colum

,其中

table1.column=table2.colum

表示两列相同并将用作它们之间的链接