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
509
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
Orpo räyhää: kansan on muututtava
Orpon mukaan kansa ei elä kokoomuksen kanssa samassa todellisuudessa, ja sen vuoksi kansan on muututtava. Kas kun ei san3063631Muovikassikartelli
Kauppaketjut ovat yhdessä sopineet muovikassin yksikköhinnaksi 59 senttiä. Milloin viranomaiset puuttuvat tähän kartell291996Aidon persun tunnistaa Marinin palvonnasta
Oli kyse sitten Halla-ahosta tai Putinista. Ensimmäisenä aidolle persulle tulee mieleen Marin.441636- 841481
Hallintooikeus..
"Asemakaavapäätös pysyy voimassa.Poikkeamista ja rakentamista koskevat luvat hylättiin" kertoo Pyhäjärven Sanomat netti.941261- 1441181
- 811074
Olen rakastunut
varattuun joka ei eroa. Miten tunteista eroon? Tämä ei ole tavanomaista. On elämäni suuri rakkaus.951032Kannattaa ymmärtää se asia
että mitään stalkkausta tai hakkerointia ei tapahdu. Oikeasti kannattaa tutkituttaa päänsä.212857Jos se joskus oli molemminpuolista
niin hyvin me molemmat onnistuttiin pitämään toinen epätietoisena.61777