Miten saan käytettyä useita haettuja muuttujiksi haettuja table sql-kyselyissä, kun väliin tarvittaisiin AND:ia?
Esim: SELECT henkilö FROM perussivut WHERE henkilö != '$henkp'..... Ei tietenkään toimi, koska $henkp:ssä on useita henkilöitä. Miten saan tehtyä vastaavan kyselyn fetchatuilla tablen arvoilla?
Hakukoodini on tällainen:
if(!$kyselyala = mysql_query("SELECT * FROM henkilöt WHERE layer = 2 AND tyyppi = 'toimistohenkilö'"))
{
print "Haku epäonnistui. Virhe:" . mysql_error();
}else{
while ($row = mysql_fetch_array($kyselyala)) {
$henkp = $row['henk'];
}
}
fetch ja useiden muuttujien tulostaminen sql-kyselyyn
8
469
Vastaukset
- php-miäs
Eli siis.. yrität ensiksi hakea yhdellä kyselyllä listaa henkilöistä ja sitten tehdä toisen kyselyn, johon nämä henkilöt ei tule mukaan?
Todennäköisesti järkevintähän olisi tehdä tuo yhdellä kyselyllä. Tuon kyselyn tekeminen vaatisikin sitten hieman ajattelua ja todennäköisesti yritysta ja erehdystä sitäkin enemmän. Todennäköisesti onnistuu LEFT tai RIGHT JOIN:lla.
Pikaratkaisuna toimisi kuitenkin varmaan joku seuraavan tapainen:
if(!$kyselyala = mysql_query("SELECT * FROM henkilöt WHERE layer = 2 AND tyyppi = 'toimistohenkilö'"))
{
print "Haku epäonnistui. Virhe:" . mysql_error();
}else{
while ($row = mysql_fetch_array($kyselyala)) {
$henkp[] = $row['ID'];
}
$query = "SELECT henkilö FROM perussivut WHERE henkilö NOT IN (";
foreach ($henkp as $arvo)
{
if ($lisaaPilkku) $query .= ", ";
$query .= "'" . $arvo . "'";
$lisaaPilkku = true;
}
$query .= ") ORDER BY sarake";
echo $query;
}
Jos kaikki meni oikein, tuosta tulee vastauksena jotain tyyliin: SELECT henkilö FROM perussivut WHERE henkilö NOT IN ('matti', 'seppo', 'timo') ORDER BY sarake- Tomppa5435
Kiitos. Juuri tätä vastausta etsin.
- Tomppa5435
Tomppa5435 kirjoitti:
Kiitos. Juuri tätä vastausta etsin.
Minulla on tietoa useammissa tableissa. Onko kysleyä mahdollista muuttaa niin, että siihen saa haettua tietoa useammasta tablesta?
Tällä hetkellä saan tällaisen virheilmoituksen:
Column 'sivu' in where clause is ambiguous
- fgsdfgdsfg
select henkilö from perussivut where henkilö not in (select henk from henkilöt where layer = 2 and tyyppi = 'toimistohenkilö')
- hmmm?
Toimivatko sub-queryt mysql:ssä?
- gffgf
hmmm? kirjoitti:
Toimivatko sub-queryt mysql:ssä?
jep
- 122121
gffgf kirjoitti:
jep
Eipä toimi ainakaan omassa mysql-versiossani.
- 90++0+0
122121 kirjoitti:
Eipä toimi ainakaan omassa mysql-versiossani.
Kannattaisiko siis ehkä päivittää
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225474- 324810
- 282721
- 342344
- 372058
- 152008
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191647- 121591
- 231462
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons251429