| 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: 15 let
|
|||
0