2014-06-11 4 views
-2

두 개의 관련없는 SQL SELECTS를 하나의 테이블로 조인해야합니다. 내가 시도두 개의 관련없는 SELECT 쿼리를 결합하십시오.

는 CROSS은 ... 아무것도를 연결하지 않은 경우 :

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 
+0

두 테이블에 둘 이상의 행이 있습니까? 그렇다면, * 어떻게 * 그들을 가입시키고 싶습니까? 표 1의 어느 행을 표 2의 각 행에 결합해야합니까? – Blorgbeard

답변

0

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

table1.column=table2.colum 

은 두 열이 동일하며 둘 사이의 링크로 사용됨을 의미합니다.

2

음, 다음 cross join을 사용 도와주세요 조인, 노동 조합을 결합합니다. 이 모든 조합 줄 것이다 : u는 u는 왼쪽을 사용하여이 개 테이블

에서 데이터를 선택하려는 작업을 할 것입니다 가입을 의미하는 경우

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; 
관련 문제