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
497
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 hiiri kadoksissa, Marin jo kommentoi
Kuinka on valtiojohto hukassa, kun vihollinen Grönlantia valloittaa? Putinisti Purra myös hiljaa kuin kusi sukassa.1176319Lopeta jo pelleily, tiedän kyllä mitä yrität mies
Et tule siinä onnistumaan. Tiedät kyllä, että tämä on just sulle. Sä et tule multa samaan minkäänlaista responssia, kosk3796125Nuori lapualainen nainen tapettu Tampereella?
Työmatkalainen havahtui erikoiseen näkyyn hotellin käytävällä Tampereella – tämä kaikki epäillystä hotellisurmasta tie695850Tampereen "empatiatalu" - "Harvoin näkee mitään näin kajahtanutta"
sanoo kokoomuslainen. Tampereen kaupunginvaltuuston maanantain kokouksessa käsiteltävä Tampereen uusi hyvinvointisuunni3443952Lidl teki sen mistä puhuin jo vuosikymmen sitten
Eli asiakkaat saavat nyt "skannata" ostoksensa keräilyvaiheessa omalla älypuhelimellaan, jolloin ei tarvitse mitään eril1452355Ukraina, unohtui korona - Grönlanti, unohtu Ukraina
Vinot silmät, unohtui Suomen valtiontalouden turmeleminen.42335Orpo pihalla kuin lumiukko
Onneksi pääministerimme ei ole ulkopolitiikassa päättäjiemme kärki. Hänellä on täysin lapsellisia luuloja Trumpin ja USA1171393- 121221
- 1821052
- 59877