Autor | Zpráva | ||
---|---|---|---|
benito Profil * |
Moderátor Str4wberry: Titulek „Oříšek pro chytré hlavy...JE TO VŮBEC REÁLNÉ“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší. Ahoj mám takový oříšek. Mám data v tabulkách
table_1 ID | string2 ---------------------------------- 101 | AAA 102 | AAA 103 | BBB 104 | DDD ..... table_2 ID| string1 ---------------------------------- 1 | AAA 2 | AAA 3 | BBB 4 | CCC .... požadovaný výsledek ID| string | ID_table1 ---------------------------------- 1 | AAA | 101 2 | AAA | 102 3 | BBB | 103 4 | CCC | NULL ..... potřebuju získat požadovaný výsledek a nevím jak na to zkoušel sem JOIN,... ale to mi nepřiřadí různá ID_table1 ??? neřešil ste to už někdo? |
||
Kajman_ Profil * |
#2 · Zasláno: 15. 11. 2011, 14:28:55
Použijte left join.
|
||
benito Profil * |
LEFT JOIN na to pužít nejde! To mi vrací
ID| string | ID_table1 ---------------------------------- 1 | AAA | 101 2 | AAA | 101 ... Potřebuju aby dotaz jakmile použije 101 tak už s ním nepočítal a doplnil dalši číslo nebo null SELECT DISTINCT (a.ID), a.pn, b.ID_component FROM tie_wfp_pns a LEFT JOIN vw_contain_invoices b ON a.pn = b.pn AND b.receive = 0 WHERE a.ID_stock = 1 AND a.released = 0 GROUP BY a.ID ORDER BY a.pn |
||
Sir Tom Profil |
Hmm - název vůbec neodpovídá danému problému...
|
||
Kajman_ Profil * |
#5 · Zasláno: 15. 11. 2011, 15:09:41
benito:
Co použít (poddotaz, ktery navic ocisluje stejne stringy z první tabulky) left join (poddotaz, ktery navic ocisluje stejne stringy z druhe tabulky) Sir Tom: Máš návrh na správný název? Zatím mě nic nenapadá. |
||
Sir Tom Profil |
#6 · Zasláno: 15. 11. 2011, 15:55:36
Kajman:
„Máš návrh na správný název? Zatím mě nic nenapadá.“ Původní název byl naprosto mimo problém... - napadá mě - Problémové spojení nebo Problémový výběr dat z db. Nechci se bavit o názvu - toto není tématem daného vlákna... |
||
benito Profil * |
#7 · Zasláno: 16. 11. 2011, 07:31:18
....Koukám, že ten název je úplně jinej než sem tam zadával, mělo tam bej "Oříšek pro chytré hlavy :)" . PS: neznám způsob jak by se daly ty stringy očíslovat, nomohly by ste mě nasměrovat.
|
||
Kajman_ Profil * |
#8 · Zasláno: 16. 11. 2011, 08:52:42
Pro očíslování stejných stringů by se snad daly použít uživatelské proměnné, viz. druhý příklad z faq (bez having). To uděláte pro každou tabulku a pak už to je podle čeho spojovat.
Další jednodušší řešení je mít dva dotazy a jen si např. v php spojíte při výpisu řádky tak, jak po tom toužíte. |
||
1Pupik1989 Profil |
#9 · Zasláno: 16. 11. 2011, 09:49:15
Že jsou id přesně o 100 vyšší je náhoda, nebo to tak je i v db?
|
||
Ugo Profil |
#10 · Zasláno: 16. 11. 2011, 09:59:53
dej si tam distinct nebo group na víc sloupců (neboli jejich kombinaci, tim ti zmizí ta duplicita co nechceš)
|
||
Časová prodleva: 7 dní
|
|||
benito Profil * |
#11 · Zasláno: 23. 11. 2011, 07:17:44
v php to spojit nemůžu, ptotože tam už potřebuju dostat ten výsledek Kajman
|
||
benito Profil * |
#12 · Zasláno: 23. 11. 2011, 07:18:27
1Pupik1989:
ID o 1 vyšší je náhoda |
||
benito Profil * |
#13 · Zasláno: 23. 11. 2011, 07:24:39
PS: všem moc díky za nápady,zatím sem to vyřešil zápisem do databáze, ale všechno co ste tu napsali ještě vyzkouším, hlavně ty uživatelský proměný
|
||
Časová prodleva: 13 let
|
0