Beste SD-ers,
Voor een zoek functie op de website van een klant moet ik 2 waarden uit 2 kolommen bij elkaar optellen. Nu is mijn vraag hoe ik dit het beste kan doen in de SQL statement.
voorbeeld:
id | volwassenen | kinderen
1 | 4 | 3
In de database staat volwassenen en kinderen apart vanwege de presentatie op de website. Nu wil de klant graag in zijn zoekfunctie dat het aantal personen als totaal in de zoekfunctie wordt opgenomen.
ik moet dus alle records uit de database halen waarbij het ingevoerde aantal personen gelijk of groter is dan de waarde van volwassen + kinderen bij elkaar.
stel:
$_POST['aantalpers'] = 7
dan moet ik iets van een query hebben wat hier op neerkomt:
SELECT *, (volwassen + kinderen) as Totaal FROM campers WHERE Totaal >= $_POST['aantalpers']
Is iets dergelijks mogelijk, zo ja, zou iemand mij hierbij even kunnen helpen?
- [SQL] 2 tabellen bij elkaar optellen
-
05-03-2011, 11:14 #1
- Berichten
- 304
- Lid sinds
- 18 Jaar
[SQL] 2 tabellen bij elkaar optellen
-
-
05-03-2011, 11:19 #2
- Berichten
- 289
- Lid sinds
- 16 Jaar
Re: [SQL] 2 tabellen bij elkaar optellen
Code:SELECT *, SUM(kinderen+volwassenen) AS total FROM table_name GROUP BY id HAVING total >= 3
-
05-03-2011, 11:28 #3
- Berichten
- 935
- Lid sinds
- 17 Jaar
Re: [SQL] 2 tabellen bij elkaar optellen
deze query wordt denk ik sneller uitgevoerd:
SELECT * FROM campers WHERE SUM(volwassen+kinderen) >= 7
-
05-03-2011, 13:02 #4
- Berichten
- 304
- Lid sinds
- 18 Jaar
Re: [SQL] 2 tabellen bij elkaar optellen
Rein, bij jou oplossing krijg ik:
"Invalid use of group function" error.
Zal vanavond even die van J. Buitenhuis proberen.
Bedankt voor de snelle reacties in ieder geval!
-
05-03-2011, 18:38 #5
- Berichten
- 935
- Lid sinds
- 17 Jaar
Re: [SQL] 2 tabellen bij elkaar optellen
heb je volwassen en kinderen als int / float / varchar ??? wat is je database_scheme ?
-
05-03-2011, 18:44 #6
- Berichten
- 304
- Lid sinds
- 18 Jaar
Re: [SQL] 2 tabellen bij elkaar optellen
Tabellen staan op int.
$sql .= "WHERE SUM(`slaapplaatsen`+`kslaapplaatsen`) >= '".$slaapplaatsen."' ";
En dit gebruik zodra de bezoeker een aantal slaapplaatsen invult.
-
05-03-2011, 19:26 #7
- Berichten
- 95
- Lid sinds
- 18 Jaar
Re: [SQL] 2 tabellen bij elkaar optellen
Kun je de hele sql-query laten zien? Volgens mij gaat het fout in combinatie met de group functie, maar die is bij ons niet bekend.
-
06-03-2011, 13:50 #8
- Berichten
- 1.899
- Lid sinds
- 18 Jaar
Re: [SQL] 2 tabellen bij elkaar optellen
Bij de SUM() functies moet je de groupby gebruiken geloof ik, vandaar dat jouw oplossing ook niet werkt Rein. Overigens is het niets sneller dan "SELECT SUM(kinderen+volwassenen) as total FROM .. WHERE total >= 3"; in beide gevalen voer je de rekensom uit en selecteer je op basis daarvan iets.
Als ik het zo snel bekijk is de oplossing van J.Buitenhuis dan ook de correcte.
-
08-03-2011, 13:41 #9
- Berichten
- 304
- Lid sinds
- 18 Jaar
Re: [SQL] 2 tabellen bij elkaar optellen
Inderdaad, de oplossign van J. Buitenhuis werkt perfect.
Bedankt voor alle reacties!
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic