Pereiti prie turinio

Teisingas JOIN MYSQL naudojimas


Rekomenduojami pranešimai

Seiki, taigi iškart prie esmės. Yra dvi lentelės `pirmas` ir `antras`.

`pirmas` turi tokius stulpelius `id`, `pavadinimas`.

`antras` turi tokius stulpelius `id`, `pirmas_id`, `pirma_reiksme`, `antra_reiksme`

 

Reikia, kad mysql atliktų tokį veiksmą - paimtų visus `pirmas` duomenys, jeigu duotas skačius nėra tarp antros lentelės `pirma_reiksmė` ir `antra_reiksmė` reikšmių. Pvz `antras` lentelėje yra įrašas `pirma_reiksme` = 4, `antra_reiksme` = 9. Tai jeigu duotasis skaičius 5, rezultatų nėra, nes 5 yra tarp 4 ir 9. Tai pačiai sąlygavai davus skaičių 10, gražina rezultatą su duomenimis iš `pirmas` lentelės, nes 10 nėra tarp 4 ir 9.

Jeigu neaiškus pavyzdys, sakykit, pabandysiu plačiau.

 

Supaprastinta mano užklausa būtų tokai :

SELECT * FROM `pirmas` A JOIN(SELECT `id` as `antras_id`, `brand_name` FROM `antras`WHERE bet_koks_skaicius NOT BETWEEN `pirma_reiksme` AND `antra_reiksme`)B ON A.id = B.pirmas_id

 

Viskas vyksta gerai (sąlyga įvykdoma), kol `antras` lentelėje yra rezultatų. Tačiau jeigu `antras` lentelė tuščia, neranda jokių rezultatų, o man reikia, kad rastų nors ir lentelėj nėra duomenų, nes tada bet kokiu atvėjų ten tokių skaičių nebus.

 

Googlinau ir ir išbandžiau visus kitus JOIN metodus, tačiau nei LEFT nei RIGHT nepadėjo. FULL OUTER JOIN gal ir tiktų, tačiau mano naudojima mysql tos funkcijos nepalaiko (bent kiek supratau). Kas padės, tam iškart dėkui:)

Redagavo leoleva
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Geriau sitaip ziurisi

 

pirmas

id,__|`pavadinimas`.|

n++ | bubu

n++ | bubu

n++ | bubu

 

antras

id__|`pirmas_id`| `pirma_reiksme` |`antra_reiksme

k++ |___tttt____|_____n++______| n++

k++ |___tttt____|_____n++______| n++

Nori kad ismestu tik pirmos table irasus, jeigu table2 neturi jos id reiksmiu? Ar abieju lenteliu duomenu? Su subqueriais nesunkiai pasidarytum, bet su join'ais greiciau.

 

Edit, idomiai join'tai sujungti :)

Redagavo nerjok
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...