abonnement Unibet Coolblue
pi_133722073
quote:
0s.gif Op donderdag 28 november 2013 20:54 schreef xaban06 het volgende:

[..]

Is het niet :)
Maar hoe weet je dan dat de eerste het juiste resultaat is? Als het onderscheid gemaakt wordt op category,subcategory dan zou je sowieso de 2e query moeten gebruiken even terug te komen op je eerste vraag.

Behalve dat je ze dan weg kan laten in de select, omdat je die waardes al hebt.
pi_133722316
quote:
19s.gif Op donderdag 28 november 2013 20:56 schreef TwenteFC het volgende:

[..]

Maar hoe weet je dan dat de eerste het juiste resultaat is? Als het onderscheid gemaakt wordt op category,subcategory dan zou je sowieso de 2e query moeten gebruiken even terug te komen op je eerste vraag.

Behalve dat je ze dan weg kan laten in de select, omdat je die waardes al hebt.
Ik bedoel, id is altijd uniek, geen duplicates, maar ik heb het niet als unique gedefineerd omdat ik nog niet weet wat unique, primary key, index etc allemaal doen.
pi_133722367
quote:
0s.gif Op donderdag 28 november 2013 21:00 schreef xaban06 het volgende:

[..]

Ik bedoel, id is altijd uniek, geen duplicates, maar ik heb het niet als unique gedefineerd omdat ik nog niet weet wat unique, primary key, index etc allemaal doen.
Wordt jouw id automatisch opgehoogd wanneer je een nieuwe toevoegt? zoja; dan is het al je PK, en uniek.
pi_133722384
quote:
19s.gif Op donderdag 28 november 2013 21:01 schreef TwenteFC het volgende:

[..]

Wordt jouw id automatisch opgehoogd wanneer je een nieuwe toevoegt? zoja; dan is het al je PK, en uniek.
Is een auto_increment veld. Wat is PK?
pi_133722482
De primary key is altijd unique.
pi_133722515
quote:
0s.gif Op donderdag 28 november 2013 21:02 schreef xaban06 het volgende:

[..]

Is een auto_increment veld. Wat is PK?
Primary key, en een auto_increment veld is per definitie uniek en onderdeel v/d PK.

edit: Je kan het ook heel makkelijk testen, om eens kijken wat er dan gebeurt; Voeg maar eens een product toe met een ID dat al bestaat.
pi_133723506
Nog een vraag, ik sla prijzen op als:
199,99

In MySQL doe ik in een SELECT, price+shipmentCost as totalPrice. Dit werkt niet. Het werkt wel wanneer ik de prijzen opsla als:
199.99

Dus een punt in plaats van een komma. Is hier omheen te werken op een nette manier?
pi_133724946
Al zou het kunnen, dat is toch iets wat je absoluut nooit aan wilt beginnen?

Sowieso, sla gewoon de prijs in centen op als int.
pi_133724958
quote:
0s.gif Op donderdag 28 november 2013 21:25 schreef xaban06 het volgende:
Nog een vraag, ik sla prijzen op als:
199,99

In MySQL doe ik in een SELECT, price+shipmentCost as totalPrice. Dit werkt niet. Het werkt wel wanneer ik de prijzen opsla als:
199.99

Dus een punt in plaats van een komma. Is hier omheen te werken op een nette manier?
Waarom niet gewoon de Price en shipmentCost ( Let even op met dit soort CamelCasing overigens !! ) uit DB trekken en PHP het op laten tellen? dan kun je er ook nog variabele kortingen en dergelijke in mee rekenen als je dit nodig hebt?

quote:
14s.gif Op donderdag 28 november 2013 21:50 schreef KomtTijd... het volgende:
Al zou het kunnen, dat is toch iets wat je absoluut nooit aan wilt beginnen?

Sowieso, sla gewoon de prijs in centen op als int.
Dit inderdaad, dat vind je backend ook stuk toffer! :-)
comma getallen ( Floats etc ) gaan gewoon net effe minder lekker door je database heen
  donderdag 28 november 2013 @ 21:51:23 #235
118585 Crutch
Filantroop || Taalzwengel
pi_133724998
quote:
0s.gif Op donderdag 28 november 2013 21:25 schreef xaban06 het volgende:
Nog een vraag, ik sla prijzen op als:
199,99

In MySQL doe ik in een SELECT, price+shipmentCost as totalPrice. Dit werkt niet. Het werkt wel wanneer ik de prijzen opsla als:
199.99

Dus een punt in plaats van een komma. Is hier omheen te werken op een nette manier?
Ja, je waarde altijd opslaan als float of decimal en pas converteren naar #,## wanner je het output naar je template.

Of centen inderdaad.
Je moeder is een hamster
pi_133725327
quote:
0s.gif Op donderdag 28 november 2013 21:25 schreef xaban06 het volgende:
Nog een vraag, ik sla prijzen op als:
199,99

In MySQL doe ik in een SELECT, price+shipmentCost as totalPrice. Dit werkt niet. Het werkt wel wanneer ik de prijzen opsla als:
199.99

Dus een punt in plaats van een komma. Is hier omheen te werken op een nette manier?
1
2
3
4
5
$price = 1999.99;
$price = number_format($price, 2, ',', '.');
print $price . "\n";

# geeft 1.999,99

Zo kan je het in je weergave aanpassen, ik zou het gewoon goed als float/double opslaan in je DB. En als centen opslaan in je DB.. mja, ik snap die redenatie niet. Alsof floats/doubles zo moeilijk zijn voor een database...

Je kan overigens ook..

1
2
3
4
5
6
7
8
setlocale(LC_ALL, array(
    'nl_NL.utf8',
    'nl_NL@euro',
    'nl_NL.iso885915@euro',
    'nl_NL.iso88591',
    'nl_NL',
    'POSIX',
));

proberen te gebruiken. Maar dat kan eventueel misgaan bij de input naar de database. Dan moet je binnen je transactie wellicht even de locale terugzetten naar iets Engelsachtig (LC_MONETARY en/of LC_NUMERIC aanpassen helpt al).

[ Bericht 9% gewijzigd door slacker_nl op 28-11-2013 22:11:41 ]
In theory there is no difference between theory and practice. In practice there is.
pi_133726614
1
2
3
4
5
6
7
8
9
10
<?php
SELECT 
*
FROM productoffers AS po
WHERE po
.id IN (
    
SELECT id
    FROM productoffers
    WHERE sellerId 
=1
)
AND 
po.sellerId 2
?>

Ik wil de productprijzen op halen van producten die zowel bij shop A als bij shop B zijn, waar ga ik de fout in met deze query? Had het ook al met EXISTS geprobeerd maar ik loop even flink te kutten nu :o
pi_133726853
quote:
19s.gif Op donderdag 28 november 2013 22:19 schreef TwenteFC het volgende:

[ code verwijderd ]

Ik wil de productprijzen op halen van producten die zowel bij shop A als bij shop B zijn, waar ga ik de fout in met deze query? Had het ook al met EXISTS geprobeerd maar ik loop even flink te kutten nu :o
where po.sellerid = 1 and po.sellerid =2?
In theory there is no difference between theory and practice. In practice there is.
pi_133726988
quote:
0s.gif Op donderdag 28 november 2013 22:22 schreef slacker_nl het volgende:

[..]

where po.sellerid = 1 and po.sellerid =2?
Dan krijg ik alle producten seller 1 en 2, ongeacht of seller 1 en 2 het beide product hebben.
pi_133727015
:P En nu ik dat typ bedenk ik me op eens iets |:(
pi_133727208
quote:
0s.gif Op donderdag 28 november 2013 21:56 schreef slacker_nl het volgende:

[..]
[ code verwijderd ]

Zo kan je het in je weergave aanpassen, ik zou het gewoon goed als float/double opslaan in je DB. En als centen opslaan in je DB.. mja, ik snap die redenatie niet. Alsof floats/doubles zo moeilijk zijn voor een database...

Je kan overigens ook..
[ code verwijderd ]

proberen te gebruiken. Maar dat kan eventueel misgaan bij de input naar de database. Dan moet je binnen je transactie wellicht even de locale terugzetten naar iets Engelsachtig (LC_MONETARY en/of LC_NUMERIC aanpassen helpt al).
Thanks, zal daar eens naar kijken. Het is allemaal read, ik doe verder zo goed als geen input/insert :)
pi_133727276
quote:
19s.gif Op donderdag 28 november 2013 22:24 schreef TwenteFC het volgende:

[..]

Dan krijg ik alle producten seller 1 en 2, ongeacht of seller 1 en 2 het beide product hebben.
hoezo, tis geen or toch? where (po.sellerid = 1 and po.sellerid = 2) and .. zou m.i. moeten werken.
In theory there is no difference between theory and practice. In practice there is.
pi_133727399
quote:
0s.gif Op donderdag 28 november 2013 22:29 schreef slacker_nl het volgende:

[..]

hoezo, tis geen or toch? where (po.sellerid = 1 and po.sellerid = 2) and .. zou m.i. moeten werken.
:P hoe kan één sellerId 1 en 2 zijn dan?

:@ Maar heb het al opgelost, er was simpelweg geen product dat zowel bij 1 als 2 beschikbaar was :@ :@ Het wordt hoogtijd dat ik ga slapen.
pi_133727650
quote:
19s.gif Op donderdag 28 november 2013 22:32 schreef TwenteFC het volgende:

[..]

:P hoe kan één sellerId 1 en 2 zijn dan?

:@ Maar heb het al opgelost, er was simpelweg geen product dat zowel bij 1 als 2 beschikbaar was :@ :@ Het wordt hoogtijd dat ik ga slapen.
Owja, das waar, maar je kan ook joinen met jezelf volgens mij.

dan krijg je iets als

1
2
3
4
5
6
7
8
SELECT 
    *   
FROM 
    productoffer AS po
JOIN 
    productoffer AS po2 on po2.id = po.id AND po.reseller_id = 1 
WHERE                                                                                                                                              
    po2.reseller_id = 2;

Al kan die AND in de JOIN ook een WHERE zijn, over die syntax twijfel ik even..
In theory there is no difference between theory and practice. In practice there is.
pi_133729144
quote:
0s.gif Op donderdag 28 november 2013 22:37 schreef slacker_nl het volgende:

[..]

Owja, das waar, maar je kan ook joinen met jezelf volgens mij.

dan krijg je iets als
[ code verwijderd ]

Al kan die AND in de JOIN ook een WHERE zijn, over die syntax twijfel ik even..
Heb het nu werkend maar je kan inderdaad gewoon een query in de ON gooien.
Wel tussen ( ) volgens mij. Toch bedankt voor de hulp ^O^
pi_133732830
Net een verneukte query uitgevoerd, doet hij toch nog aardig :P
Weergave van records 0 - 29 ( 74,554,590 totaal, query duurde 0.0055 sec)
pi_133755508
Ik wil in SQL met MATCH de overeenkomsten van een zoekopdracht vergelijk met een kolom en daar een percentage uit berekenen, dit werkt nu al goed.

Maar hoe kan ik woorden uitsluiten van deze match?
pi_133757216
quote:
0s.gif Op donderdag 28 november 2013 21:56 schreef slacker_nl het volgende:

[..]
[ code verwijderd ]

Zo kan je het in je weergave aanpassen, ik zou het gewoon goed als float/double opslaan in je DB. En als centen opslaan in je DB.. mja, ik snap die redenatie niet. Alsof floats/doubles zo moeilijk zijn voor een database...

Je kan overigens ook..
[ code verwijderd ]

proberen te gebruiken. Maar dat kan eventueel misgaan bij de input naar de database. Dan moet je binnen je transactie wellicht even de locale terugzetten naar iets Engelsachtig (LC_MONETARY en/of LC_NUMERIC aanpassen helpt al).
setlocale lijkt geen verandering er in te brengen.
  FOK!mycroftheld vrijdag 29 november 2013 @ 22:09:17 #249
128465 verified  bondage
niet meer aanwezig op FOK!
pi_133758325
quote:
19s.gif Op vrijdag 29 november 2013 21:15 schreef TwenteFC het volgende:
Ik wil in SQL met MATCH de overeenkomsten van een zoekopdracht vergelijk met een kolom en daar een percentage uit berekenen, dit werkt nu al goed.

Maar hoe kan ik woorden uitsluiten van deze match?
NOT MATCH(...)
pi_133759430
quote:
0s.gif Op donderdag 28 november 2013 21:56 schreef slacker_nl het volgende:

Zo kan je het in je weergave aanpassen, ik zou het gewoon goed als float/double opslaan in je DB. En als centen opslaan in je DB.. mja, ik snap die redenatie niet. Alsof floats/doubles zo moeilijk zijn voor een database...
Een database kan prima floats en doubles opslaan, maar de exacte waarde die je opslaat is niet de waarde die je terugkrijgt. Floats en doubles kunnen namelijk niet ieder getal exact weergeven. 1,99 wordt dan misschien 1,9899999999. En dat gaat vroeg of laat afrondingsproblemen geven die ook nog eens best lastig te vinden zijn. Bij financiele informatie is dat niet wenselijk, dus kun je beter met centen rekenen en pas bij weergave afronden.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')