Autor | Zpráva | ||
---|---|---|---|
Apacuka Profil |
#1 · Zasláno: 1. 4. 2010, 22:25:05 · Upravil/a: Apacuka
Zdravím.
Jaký SELECT použít pro výběr unikatnich (zpravy.odkoho, zpravy.komu) podle vybraného obchodu? // obchody.id = zpravy.obchod_id // příklad // když vyberu obchody.id=1, tak aby byl výsledek 4,10,11,12,35,50 (na pořadí nezáleží) +----- +------------------------------------- |obchody | zpravy +---+---- +---+--------+------+---------- |id | |id | odkoho | komu | obchod_id +---+ +---+--------+------+----------- | 1 | |1 | 50 | 10 | 1 | 2 | |2 | 12 | 35 | 1 | 3 | |3 | 5 | 15 | 2 |4 | 11 | 4 | 1 A jak potom udělat, aby se pro každé to vybrané číslo udělal INSERT? INSERT INTO table (komu,odkoho) VALUES ('4','1') INSERT INTO table (komu,odkoho) VALUES ('10','1') INSERT INTO table (komu,odkoho) VALUES ('11','1') atd. |
||
Kajman_ Profil * |
#2 · Zasláno: 2. 4. 2010, 00:04:50
Nějak jsem se v tom popisu ztratil, ale asi něco na způsob
INSERT INTO `table` (komu,odkoho) select komu, obchod_id from zpravy where obchod_id=1 |
||
Apacuka Profil |
#3 · Zasláno: 2. 4. 2010, 12:37:21 · Upravil/a: Apacuka
Umím udělat SELECT pouze pro každý sloupec zvlášť, ale jak to spojit do jednoho.
$result1 = mysql_query("SELECT odkoho,obchod_id FROM zpravy m LEFT JOIN obchody s ON m.obchod_id = s.id WHERE s.id='1' GROUP BY m.odkoho") or die(mysql_error()); // vysledek 11,12,50 $result2 = mysql_query("SELECT komu,obchod_id FROM zpravy m LEFT JOIN obchody s ON m.obchod_id = s.id WHERE s.id='1' GROUP BY m.komu") or die(mysql_error()); // vysledek 4,10,35 |
||
nightfish Profil |
#4 · Zasláno: 2. 4. 2010, 12:39:24
Apacuka:
oba dva ty dotazy v [#3] jsou naprosto shodné, v obou je ten JOIN zbytečný... SELECT odkoho FROM zpravy WHERE obchod_id = 1 UNION SELECT komu FROM zpravy WHERE obchod_id = 1 |
||
Apacuka Profil |
#5 · Zasláno: 2. 4. 2010, 13:35:19 · Upravil/a: Apacuka
Mockrát děkuju.
$result = mysql_query("SELECT odkoho as napis FROM zpravy WHERE obchod_id = '1' UNION SELECT komu FROM zpravy WHERE obchod_id = '1'") or die(mysql_error()); $pole = array(); while($row = mysql_fetch_assoc($result)) { $pole[] = $row['napis']; } foreach ($pole as $napis) { echo "prikaz pro: ".$napis."<br>"; } |
||
Časová prodleva: 14 let
|
0