Sveiki, gal žinote kokį kontaktą tophost, niekaip neišeina susisiekti.

Ačiū

Dėkui Mindaugai,
Pasirinkau pirmą variantą,pagal ją gautus duomenis  naudosiu tik grafikam atvaizduot

Sveiki,
Noriu sujungti keletą užklausų į vieną, bet niekaip nepavyksta.
šios užklausos yra iš dviejų DB, bei keturių lentelių, tame pačiame mysql serveryje.

pirma užklausa (iš pirmos db, bei 2 lentelių)

SELECT  t11.T.PAV AS Is_T_PAV1, round(sum(atstumas),1) as atstumas1
FROM db1.lentele_2 AS t2
LEFT JOIN db1.lentele1 AS t11 ON t2.Is_T_PAV = t11.id
Group by t11.T.PAV
ORDER BY atstumas DESC;

antra užklausa (iš antros db, bei 2 lentelių)

SELECT  t11.T.PAV AS Is_T_PAV2, round(sum(atstumas),1) as atstumas2
FROM db2.lentele_2 AS t2
LEFT JOIN db2.lentele1 AS t11 ON t2.Is_T_PAV = t11.id
Group by t11.T.PAV
ORDER BY atstumas DESC;

rezultatas norimas toks:

---------------------------------------------------------------
|   Is_T_PAV1  |  atstumas1 |  Is_T_PAV2 | atstumas2|
---------------------------------------------------------------
|       AAA       |     25         |   AAA         |      30       |
--------------------------------------------------------------
|       BBB       |   15           |    BBB        |      10       |
---------------------------------------------------------------
|       CCC      |   14           |   CCC        |       75       |
---------------------------------------------------------------

Bandžiau tai padaryt pasinaudojant virtualioms lentelėms, tačiau rezultatas budavo iškraipytas,daug pasikartojančių įrašų bei netikslus sumos rezultatas ties kiekvienu skirtingu įrašu.

Gal kas galite patarti kaip tai padaryt?

Dėkui,

dar karta dėkui :)

A dar turiu vieną klausimėlį :) kaip pakeisti įrašo reikšme kokiu kitu pvz, kaip šiame pavyzdyje būtų "Kiti"

Dėkui už pagalba, o Jūsų patarimu tikrai pasinaudosiu, kai laiko biški daugiau bus :)

Sveiki,
Tarkime turiu viena lentelę kurioje yra pavadinimas ir kiekis, apie 100 įrašų joje

noriu padaryti tokia lentele, kurioje  būtų tik tokie įrašai kurių kiekis viršija 10000 vnt., ir  ir suma tų įrašų kurie netenkina sąlygos, tarkim pavadinimu kiti.

panašiai taip

|-------------------|
|   pav   |  kiekis |
---------------------
|    a     |  15000 |
---------------------
|    b     |  17000 |
---------------------
....................... ir t.t
________________
|   kiti     |  25000 |
---------------------

Galvoju kad gal tai pavyktų padaryt vykdant užklausą iš 2 virtualių lentelių, bet pasirodo klydau :) meta klaidą

SELECT pav, kiekis FROM
(SELECT pav, kiekis FROM lentele WHERE kiekis > 10000)virtuali1,
(SELECT pav, SUM(kiekis) as kiekis FROM ipt WHERE kiekis <10000)virtuali2
ORDER BY kiekis DESC

Gal aš čia per sudėtingai darau, gal yra lengvesnis būdas?

Ačiū

Pagaliau pavyko, dėkui už patarimus

SELECT mazgo_pav, Count( Is_A_pav )
FROM (
SELECT mazgo_pav, Is_A_pav
FROM sujungimai
WHERE sujungimai.tipas_ID = '1'
GROUP BY mazgo_pav, Is_A_pav
)vir
GROUP BY mazgo_pav

O jei pirma aš sukuriu virtualia lentele iš tokių duomenų kokių reikia ir poto iš jos vykdau sql užklausa. ar tai pavyktu?

taip ir negerai, nes tuomet netikslus rezultatai gaunasi, gal reiks daryt su php bus lengviau :) gal

Tuomet, bus pasikartojantys įrašai su mazgų pavadinimais :)

šia užklausa panaudojus, man neatsifiltruoja vienodi irašai stulpelyje Is_A_pav
-----------------------------------------------------------
ID | Is_A_pav | I_B_pav | tipas_ID | mazgo_pav |
-----------------------------------------------------------
1 |      1        |      2       |       1     |       fff        |
-----------------------------------------------------------
4 |      1         |      3       |       1     |      fff        |

Iš jų turėtų likti tik vienas, nes tame pačiame mazge tas irasas Is_A_pav stulpelio

Ramex wrote:

tai selectini vieną! nesuprantu kame bėda? pirmoje užklausoje turi išsitraukti tai, ko tau reikia, o su vidine atsirenki pagal ką. o tu vos ne atvriksčiai. ir dar plius už klausa neatitinka lentelės struktūros. iš kur tas tipas_ID?

nelabai suprantu kaip padryt tai,
O tipas_ID tai kriterijus atrekantis nereikalingus įrašus

Pirma užklausa ištraukia duomenis iš tokios lentelės (bent panašios):
-----------------------------------------------------------
ID | Is_A_pav | I_B_pav | tipas_ID | mazgo_pav |
-----------------------------------------------------------
1 |      1        |      2       |       1     |       fff        |
----------------------------------------------------------- 
4 |      1         |      3       |       1     |      fff        |
----------------------------------------------------------- 
2 |      21       |      4       |       1     |      fff        |
----------------------------------------------------------- 
3 |      22       |      2       |       1     |      fff         |
----------------------------------------------------------- 
4 |      23       |      5       |       1     |      fff         |
----------------------------------------------------------- 
5 |      1         |      6      |       1     |      sss        |
----------------------------------------------------------- 
6 |      20       |      7       |       1     |      sss        |
----------------------------------------------------------- 
7 |      22       |      1      |       1      |      sss        |
----------------------------------------------------------- 
8 |      24       |      1      |       2      |      sss        |
----------------------------------------------------------- 

ir gaunama tokia lentelė

| mazgo_pav | Is_A_pav |
--------------------------------
      fff                  1
      fff                  21
      fff                  22
      fff                  23
      sss                 1
      sss                 20
      sss                 22
---------------------------------

Kuriame nebera neivieno vienodo įrašo(Is_A_pav)  tama pačiame mazge

todėl dar vieną užklausą noriu vykdyti, kad suskaičiuotu kiek konkrečiai yra tame mazge skirtingų įrašų

Tai matau kad nepavyksta :) Gal ką galite pasiūlyti

SELECT COUNT(mazgo_pav) FROM sujungimai
where mazgo_pav=(SELECT mazgo_pav, Is_A_pav
FROM sujungimai
WHERE sujungimai.tipas_ID = '1'
GROUP BY mazgo_pav, Is_A_pav) GROUP by mazgo_pav

Vykdant tokia užklausą metą klaidą: Operand should contain 1 column(s)

Principe su pirma užklausa gaunu tokia lentelę
SELECT mazgo_pav, Is_A_pav
FROM sujungimai
WHERE sujungimai.tipas_ID = '1'
GROUP BY mazgo_pav, Is_A_pav

| mazgo_pav | Is_A_pav |
--------------------------------
      fff                  1
      fff                  21
      fff                  22
      fff                  23
      sss                 1
      sss                 20
      sss                 22
---------------------------------

Noriu, kad antroje užklausoje suskaičiuotu mazgu pavadinimus, kad gaučiau tokius rezultatus
| mazgo_pav | Is_A_pav |
--------------------------------
        fff                4
        sss               3
---------------------------------

Sveiki,

Gal kas galite parodyti užklausos užklausoje  formavimo pavyzdį. Mano atveju operuočiau vienoje lentelėje.

Dėkui

Aišku, tai tuomet pasidarysiu su PHP.
Dėkui

pasikartojantys yra šie

ID   |   Is_T_PAV  |   I_T_PAV |
------------------------------------
1     |       1          |        2      |
------------------------------------
2     |       2          |        1      |
------------------------------------

tik gal šiame pvz nelabai matosi,
bet esmė, kad man reikalinga tik vienas iš jų, nes pvz jei būtų atskiras stulpelis  maršruto ilgis,
tai abejose rodytų tą patį, aišku tą problemą galima išspręsti su php, bet man įdomu ar mysql tai įmanoma

Sveiki,

dar truputi informacijos norėčiau, ar mysql kalboje įmanoma taip padaryt kad prieš tai buvusioje lentelėje
------------------------------------
ID   |   Is_T_PAV  |   I_T_PAV |
------------------------------------
1     |       1          |        2      |
------------------------------------
2     |       2          |        1      |
------------------------------------
3     |       1          |        3      |
------------------------------------

išmestu pasikartojanti įrašą

------------------------------------
ID   |   Is_T_PAV  |   I_T_PAV |
------------------------------------
1     |       1          |        2      |
------------------------------------
2     |       2          |        1      |
------------------------------------

atvaizduojant tik vieną iš jų

tarkim
------------------------------------
ID   |   Is_T_PAV  |   I_T_PAV |
------------------------------------
1     |       1          |        2      |
------------------------------------

Ačiū,