Autor | Zpráva | ||
---|---|---|---|
World Profil |
#1 · Zasláno: 15. 1. 2011, 15:26:00
Dobrý den, potřebuji nejspíše trochu objasnit rozdíl mezi JOIN (INNER JOIN je prý to samé, co jsem se dočetl, nevím co je na tom pravdy) a LEFT/RIGHT JOIN. Pouze JOIN mohu použít pokud sloupce `table1`.`id` = `table2`.`account` mají typ index/primary? Protože teď jsem v mých skriptech používal vždy LEFT JOIN a zjistil jsem, že pouze s JOIN je to mnohem rychlejší, ovšem zase všude bez hlavě nemohu nastavit JOIN, protože pak se některá data nevyberou (která by měla). Děkuji za odpověď.
|
||
ShiraNai7 Profil |
#2 · Zasláno: 15. 1. 2011, 15:56:43
Na indexu nezáleží, ale měly by tam být kvůli optimalizaci (aby to bylo rychlejší).
Rozdíl mezi LEFT/RIGHT (nebo OUTER) JOIN a obyčejným JOIN (nebo INNER JOIN) je takový, že ten první vrací i řádky, ke kterým nenajde odpovídající řádek v tabulce kterou joinuješ (sloupce jsou pak NULL). Obyčejný JOIN je nevrací. |
||
World Profil |
#3 · Zasláno: 16. 1. 2011, 11:32:28
Dobře, děkuji za objasnění.
|
||
Časová prodleva: 5 měsíců
|
|||
PanP Profil |
#4 · Zasláno: 4. 6. 2011, 11:48:25
Zdravim,muže mi někdo pomoct připojit tabulku s nazvem OBRAZEK ?
$result = mysql_query("SELECT * FROM uni1_users order by darkmatter DESC limit 10"); potřebuju připojit k tý databazi OBRAZEK s tabulkou ID dik |
||
pcmanik Profil |
#5 · Zasláno: 4. 6. 2011, 12:29:18
PanP:
Tvoj popis je nejasny a neda sa z neho pochopit co chces. |
||
PanP Profil |
#6 · Zasláno: 4. 6. 2011, 12:33:49
pcmanik:
$result = mysql_query("SELECT * FROM uni1_users order by darkmatter DESC limit 10"); to je připojená 1tabulka a potřeboval bych připojit ještě jednu OBRAZEK s sloupcem ID |
||
pcmanik Profil |
#7 · Zasláno: 4. 6. 2011, 12:47:09
PanP:
To nieje pripojena 1 tabulka, ale vybrana jedna tabulka. Nevies to dobre popisat, ale bude to asi vyzerat nejak takto: SELECT * FROM uni1_users, obrazek WHERE obrazek.id = uni1_users.id ORDER BY darkmatter DESC LIMIT 10 Joiny asi nepotrebujes. |
||
PanP Profil |
#8 · Zasláno: 4. 6. 2011, 12:59:54
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /data/web/virtuals/6907/virtual/www/index_top.php on line 110 $result = mysql_query("SELECT * FROM uni1_users, obrazek WHERE obrazek.i1d = uni1_users.i1d ORDER BY darkmatter DESC LIMIT 10"); while($row = mysql_fetch_array($result)) 110 řádek je while($row = mysql_fetch_array($result)) id je ted i1d ,musel jsem ho přejmenovat |
||
Tori Profil |
#9 · Zasláno: 4. 6. 2011, 13:18:08 · Upravil/a: Tori
PanP:
„Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given“ = "V dotazu byla chyba." Používejte fci mysql_error(), dozvíte se, co bylo špatně: $result = mysql_query("....") or die(mysql_error()); |
||
PanP Profil |
#10 · Zasláno: 4. 6. 2011, 13:19:37
Tori:
dik tak ted to píše Parse error: syntax error, unexpected T_LOGICAL_OR in /data/web/virtuals/6907/virtual/www/index_top.php on line 110 |
||
Tori Profil |
#11 · Zasláno: 4. 6. 2011, 13:33:16
Pokud jsem se překlepla, tak použijte třeba tohle:
$result = mysql_query("...."); if (mysql_error()) echo "chyba sql: ".mysql_error(); |
||
Časová prodleva: 13 let
|
0