Autor | Zpráva | ||
---|---|---|---|
meca Profil |
#1 · Zasláno: 18. 11. 2007, 11:33:14
Ty vogo, je zas nadpis, co ;) Nebojte, vysvětlim:
SELECT * from tab1 LEFT JOIN tab2 on tab1.id = tab2.id_ tab1 WHERE tab1.id_neco =5 AND tab2.id_necojinyho=7 Jednoduchý dotaz. Průser je však v tom, že tab2.id_necojinyho může bejt null.. A já bych potřeboval, aby se mi přesto ten řádek vybral. Napadlo mě: SELECT * from tab1 LEFT JOIN tab2 on tab1.id = tab2.id_ tab1 WHERE tab1.id_neco =5 AND (tab2.id_necojinyho=7 || tab2.id_necojinyho=null) Ale tak to očividně nefunguje. Máte někdo nějaký nápad? Děkuji... |
||
Alphard Profil |
#2 · Zasláno: 18. 11. 2007, 11:36:34
zkus
WHERE tab1.id_neco =5 AND (tab2.id_necojinyho=7 or tab2.id_necojinyho is null) |
||
nightfish Profil |
#3 · Zasláno: 18. 11. 2007, 11:37:15 · Upravil/a: nightfish
|
||
meca Profil |
#4 · Zasláno: 18. 11. 2007, 11:56:11
Juuu, super! Díky moc...
|
||
meca Profil |
#5 · Zasláno: 18. 11. 2007, 14:23:56
Tak ještě to není ono :-( Sice to fungovalo. Jenže ted jiná situace..
SELECT * from tab1 LEFT JOIN tab2 on tab1.id = tab2.id_ tab1 WHERE tab1.id_neco =5 AND (tab2.id_necojinyho=2 || tab2.id_necojinyho is null) Tím, že už v té tabulce je něco něco s tab1.id_neco=5 vyplněnýho s tím, že se tam zároven tab2.id_necojinyho rovná 7, tak to ted u toho druhého dotazu není ani null... a já stejně potřebuju vybrat alespoň ten údaj tab1. Achjo... Děkuji moc. |
||
nightfish Profil |
#6 · Zasláno: 18. 11. 2007, 14:27:38
Tím, že už v té tabulce je něco něco s tab1.id_neco=5 vyplněnýho s tím, že se tam zároven tab2.id_necojinyho rovná 7, tak to ted u toho druhého dotazu není ani null... a já stejně potřebuju vybrat alespoň ten údaj tab1.
zkus to ještě jednou, tomuhle jsem neporozuměl pakliže je na příslušném řádku tab2.id_necojinyho nějaké jiné hodnoty, tak je potřeba tu podmínku podle této hodnoty patřičně upravit |
||
meca Profil |
#7 · Zasláno: 18. 11. 2007, 15:12:56
nightfish
No ne, koukej.. Zkusim to úplně celý opsat :) Mam dvě tabulky, který potřebuju spojit v jednu, aby to dalo: název | údaj ... A v té první tabulce jsou tedy ty parametry, ke kterým chci přidat hodnoty z druhý tabulky. Tedy klasicky - první tabulka id | id_neco | nazev a druhá tabulka: id_necojinyho | id_tab1 | udaj --- No jo, jenže potřebuju vždy vypsat všechny názvy z první tabulky a pokud je k tomu údaj, tak ho taky. Myslel jsem, že se to vyřeší tím "is null" jenže teď u jiného produktu id_necojinyho se ty všechny názvy nevypíšou. Respektive se vypíšou pouze ty s id_tab1, které v druhé tabulce nebylo ani jednou vyplněno. |
||
Kajman_ Profil * |
#8 · Zasláno: 18. 11. 2007, 16:53:43
LEFT JOIN tab2 on tab1.id = tab2.id_ tab1 and tab2.id_necojinyho=2
|
||
meca Profil |
#9 · Zasláno: 18. 11. 2007, 17:00:41
Holarí! Díky, Kajmane... Ale víš co je na tom nejhorší? Mám takový pocit, že už si mi to jednou todle radil, ale mě se to nějak z hlavy vykouřilo... Tak dvakrát díky ;)
|
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0