Jump to content
php.lv forumi

2 tabulas...


leisure

Recommended Posts

Manc kveerijs

$q = "
 SELECT * FROM `".$config['prefix']."teams`
 LEFT JOIN `".$config['prefix']."groups`
 ON ".$config['prefix']."teams.ID = ".$config['prefix']."groups.T_ID WHERE ".$config['prefix']."teams.ID = '$teamID'

 

 

Nepiecieshams atlasiit visu (*) no teams tabulas un `G_NAME` no groups tabulas.

bet savaa kveerijaa nezinu, kur noraadiit, lai no grupas tabulas atlasiitu tikai to vienu lauku :/

 

Ja buutu 2 atsevishkji kveeriji tad buutu:

SELECT * FROM `teams` WHERE `ID` = '$teamID'

SELECT `G_NAME` FROM `groups` WHERE `T_ID` = '$teamID'

 

tatad kaa vinjus savienot 1 kveerijaa?

Link to comment
Share on other sites

Manc kveerijs

$q = "
 SELECT * FROM `".$config['prefix']."teams`
 LEFT JOIN `".$config['prefix']."groups`
 ON ".$config['prefix']."teams.ID = ".$config['prefix']."groups.T_ID WHERE ".$config['prefix']."teams.ID = '$teamID'

 

 

Nepiecieshams atlasiit visu (*) no teams tabulas un `G_NAME` no groups tabulas.

bet savaa kveerijaa nezinu, kur noraadiit, lai no grupas tabulas atlasiitu tikai to vienu lauku :/

 

Ja buutu 2 atsevishkji kveeriji tad buutu:

SELECT * FROM `teams` WHERE `ID` = '$teamID'

SELECT `G_NAME` FROM `groups` WHERE `T_ID` = '$teamID'

 

tatad kaa vinjus savienot 1 kveerijaa?

18100[/snapback]

 

var arii shadi

--------

SELECT teams.*, groups.G_NAME FROM teams, groups WHERE teams.id='$teamID' and groups.T_ID = '$teamID'

-----------------------------

Edited by Grey_Wolf
Link to comment
Share on other sites

Var jau darīt kā Grey_Wolf rāda SELECT teams.*, groups.G_NAME ... (pielabojot to kveriju, lai būtu pareizs WHERE nosacījums tikai) bet var arī vienkārši iekš php apstrādājot datus ignorēt tās pārējās kolonnas. Lai nu kā dari kā šķiet pareizi

Link to comment
Share on other sites

Var jau darīt kā Grey_Wolf rāda SELECT teams.*, groups.G_NAME ... (pielabojot to kveriju, lai būtu pareizs WHERE nosacījums tikai) bet var arī vienkārši iekš php apstrādājot datus ignorēt tās pārējās kolonnas. Lai nu kā dari kā šķiet pareizi

18103[/snapback]

 

Nu tur piemeeram bija doti 2 Qveriji un jautaajums kaa apvienot :)

 

Protams tas nav pats optimaalaakais variants....

(vispaar labaak ir neizmantot '*' , bet uzrakstiit preciizi ko vajag)

Link to comment
Share on other sites

(vispaar labaak ir neizmantot '*' , bet uzrakstiit preciizi ko vajag)

18108[/snapback]

Man jaaatlasa no teams tabulas 18 laukus... (tabulaa kopaa ir 19) domaa neizmantojot * kverijs buutu aatraax?

 

 

Edit:

A vispaa kk biju redzeejis, ka var noraadiit, nevis lauka nosaukumi, tur piem `TEAM_NAME`, bet vnk noraaada lauka numuru, atlasa 12,15,16 lauku, taa ir?

Edited by leisure
Link to comment
Share on other sites

(vispaar labaak ir neizmantot '*' , bet uzrakstiit preciizi ko vajag)

18108[/snapback]

Man jaaatlasa no teams tabulas 18 laukus... (tabulaa kopaa ir 19) domaa neizmantojot * kverijs buutu aatraax?

 

 

Edit:

A vispaa kk biju redzeejis, ka var noraadiit, nevis lauka nosaukumi, tur piem `TEAM_NAME`, bet vnk noraaada lauka numuru, atlasa 12,15,16 lauku, taa ir?

18116[/snapback]

 

nezinu ja no 19 jaatlasa 18 tad laikam lielas noziimes nebuus ....

ja buutu no 100 jaatlasa 10 tad gan :)

 

jaa var arii noraadiit numurus peec kaartas :)

tikai vajag atcereeties ka numeraacija sakas ar '0' :)

tikai dad nevareesi rakstiit to asocatiivajaa masiiva.....

- dazreiz pat naakas taa dariit.... (bet ja tikai 19 lauki tad prieksh kam

- lai vieglaak sajuktu?

----------

Link to comment
Share on other sites

nezinu ja no 19 jaatlasa 18 tad laikam lielas noziimes nebuus ....

ja buutu no 100 jaatlasa 10 tad gan :)

zin ka to zaigznīti vajag aizmirst, kā tādu sugu! Nedrīkst tā darīt, ka ņemam visus laukus, to var darīt tikai debagošanas nolūkos.

 

Mysql tā būvēts, ka grupējumus noignorē, bet, ja būs saskare ar ms sql, tad būs skaidri redzams, ka var sanākt problēmas...

 

Vienkārš piemērs, ir tabula ar laukiem vards|summa (šoreiz pieņemam, ka id nav, piemēra pēc)

vards|summa
aaa|5
bbb|7
aaa|5
ccc|10
vaicājums
SELECT distinct *
FROM tabula;

atgiezīs pareizu rezultātu, parādot 3 rindiņas.

Bet, ja notiek izmaiņas tabulā un tiek pielikta klāt kolona "prioritate", attiecīgi ar rindiņas vērtībām 1,2,3,4, tad šis pats vaicājums jau dos citu rezultātu.

savukārt

SELECT distinct  vards,summa
FROM tabula

dos vienmēr vienādu rezultātu

 

ar to tikai uzsverot, ka jāņem tikai tie lauki, kurus vajag, lai var droši veikt izmaiņas datu bāzes tabulās.

 

Pie kolonām ar skaitļiem var vērsties tikai pie kolonām, kuras tiek atselktētas, piem.,

SELECT vards, summa
FROM tabula 
group by 1,2

Link to comment
Share on other sites

zin ka to zaigznīti vajag aizmirst, kā tādu sugu! Nedrīkst tā darīt, ka ņemam visus laukus, to var darīt tikai debagošanas nolūkos.

 

Pilniigi piekriitu:)

izmantojot * ir lielas iespeejas iedziivoties kljuudaas :)

un tas ir ljoti slikts programmeshanas stils....... teiksim situaacijaa kad jaalabo cita rakstiits kods, ja neredzi DB tad ej nu uzmini kas tiek ielasiits.

(ne jau "nokachaatie" skripti bet teiksim jaaveic izmainjas lapaa kuru rakstiijis cits - ir reaala situaacija kad pie baazes nevar tikt)

---------

P.S. man pasham teiksim nepatiik ka PHP nav obligaati jadefinee mainiigie

-ja mainiigie tiek stingri defineeti uz reiz ir skaidrs kas ir kas :)

Link to comment
Share on other sites

P.S. man pasham teiksim nepatiik ka PHP nav obligaati jadefinee mainiigie

-ja mainiigie tiek stingri defineeti uz reiz ir skaidrs kas ir kas :)

18141[/snapback]

Par error_reporting(E_ALL) esi dzirdējis?

Link to comment
Share on other sites

P.S. man pasham teiksim nepatiik ka PHP nav obligaati jadefinee mainiigie

-ja mainiigie tiek stingri defineeti uz reiz ir skaidrs kas ir kas :)

18141[/snapback]

Par error_reporting(E_ALL) esi dzirdējis?

18151[/snapback]

Protams :)

:)

sajaa gadijumaa tas bija domaats vairaak teoreetiski .... :)

Link to comment
Share on other sites

×
×
  • Create New...