Query met datum
Beste,
SELECT
*
FROM
uitslagen_data
JOIN
uitslagen ON uitslagen_data.link_id = uitslagen.id
WHERE
uitslagen.datum > '2008-01-01 00:00:00'
AND
uitslagen.datum < '2008-12-31 00:00:00'
AND
uitslagen_data.naam_hond = "Culzean Castle Eamonn Bi Black"
OR
uitslagen_data.naam_hond = "Black Magic From Marmorea's Shelter"
OR
uitslagen_data.naam_hond = "Dapple Blue From Marmorea\'s Shelter"
De datum klopt op de een of andere manier niet want ik krijg gewoon output van 2009...
Mijn db opbouw:
CREATE TABLE `uitslagen` (
`id` int(11) NOT NULL auto_increment,
`plaats_show` varchar(100) collate utf8_unicode_ci NOT NULL,
`land_show` varchar(100) collate utf8_unicode_ci NOT NULL,
`keurmeester` varchar(100) collate utf8_unicode_ci NOT NULL,
`extra` text collate utf8_unicode_ci NOT NULL,
`datum` datetime NOT NULL,
`online` varchar(10) collate utf8_unicode_ci NOT NULL default 'offline',
`clubmatch` varchar(10) collate utf8_unicode_ci NOT NULL default 'nee',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=103 ;
-- --------------------------------------------------------
--
-- Tabel structuur voor tabel `uitslagen_data`
--
CREATE TABLE `uitslagen_data` (
`id` int(11) NOT NULL auto_increment,
`klasse` varchar(150) NOT NULL,
`plaatsing` int(1) NOT NULL default '9',
`naam_hond` varchar(150) character set utf8 collate utf8_unicode_ci NOT NULL,
`vader` varchar(150) character set utf8 collate utf8_unicode_ci NOT NULL,
`moeder` varchar(150) character set utf8 collate utf8_unicode_ci NOT NULL,
`fokker` varchar(150) character set utf8 collate utf8_unicode_ci NOT NULL,
`geb_datum` date NOT NULL,
`resultaat` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL,
`uitslag` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL,
`eigenaar` varchar(150) character set utf8 collate utf8_unicode_ci NOT NULL,
`link_id` int(11) NOT NULL,
`foto` varchar(150) character set utf8 collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2161 ;
Dit is de eerste keer dat ik (probeer) met joins te werken.. dus graag reacties waar ik wat aan heb....
Ik ben er al dik een uur mee aan het "vechten" ^^ :p.
mvg Joost.
SELECT
*
FROM
uitslagen_data
JOIN
uitslagen ON uitslagen_data.link_id = uitslagen.id
WHERE
uitslagen.datum > '2008-01-01 00:00:00'
AND
uitslagen.datum < '2008-12-31 00:00:00'
AND
uitslagen_data.naam_hond = "Culzean Castle Eamonn Bi Black"
OR
uitslagen_data.naam_hond = "Black Magic From Marmorea's Shelter"
OR
uitslagen_data.naam_hond = "Dapple Blue From Marmorea\'s Shelter"
De datum klopt op de een of andere manier niet want ik krijg gewoon output van 2009...
Mijn db opbouw:
CREATE TABLE `uitslagen` (
`id` int(11) NOT NULL auto_increment,
`plaats_show` varchar(100) collate utf8_unicode_ci NOT NULL,
`land_show` varchar(100) collate utf8_unicode_ci NOT NULL,
`keurmeester` varchar(100) collate utf8_unicode_ci NOT NULL,
`extra` text collate utf8_unicode_ci NOT NULL,
`datum` datetime NOT NULL,
`online` varchar(10) collate utf8_unicode_ci NOT NULL default 'offline',
`clubmatch` varchar(10) collate utf8_unicode_ci NOT NULL default 'nee',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=103 ;
-- --------------------------------------------------------
--
-- Tabel structuur voor tabel `uitslagen_data`
--
CREATE TABLE `uitslagen_data` (
`id` int(11) NOT NULL auto_increment,
`klasse` varchar(150) NOT NULL,
`plaatsing` int(1) NOT NULL default '9',
`naam_hond` varchar(150) character set utf8 collate utf8_unicode_ci NOT NULL,
`vader` varchar(150) character set utf8 collate utf8_unicode_ci NOT NULL,
`moeder` varchar(150) character set utf8 collate utf8_unicode_ci NOT NULL,
`fokker` varchar(150) character set utf8 collate utf8_unicode_ci NOT NULL,
`geb_datum` date NOT NULL,
`resultaat` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL,
`uitslag` varchar(30) character set utf8 collate utf8_unicode_ci NOT NULL,
`eigenaar` varchar(150) character set utf8 collate utf8_unicode_ci NOT NULL,
`link_id` int(11) NOT NULL,
`foto` varchar(150) character set utf8 collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2161 ;
Dit is de eerste keer dat ik (probeer) met joins te werken.. dus graag reacties waar ik wat aan heb....
Ik ben er al dik een uur mee aan het "vechten" ^^ :p.
mvg Joost.
Gewijzigd op 01/01/1970 01:00:00 door /home/joost
Gesponsorde koppelingen:
Haakjes zijn de oplossing:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SELECT
*
FROM
uitslagen_data
JOIN
uitslagen ON uitslagen_data.link_id = uitslagen.id
WHERE
uitslagen.datum > '2008-01-01 00:00:00'
AND
uitslagen.datum < '2008-12-31 00:00:00'
AND
(
uitslagen_data.naam_hond = "Culzean Castle Eamonn Bi Black"
OR
uitslagen_data.naam_hond = "Black Magic From Marmorea's Shelter"
OR
uitslagen_data.naam_hond = "Dapple Blue From Marmorea\'s Shelter"
)
*
FROM
uitslagen_data
JOIN
uitslagen ON uitslagen_data.link_id = uitslagen.id
WHERE
uitslagen.datum > '2008-01-01 00:00:00'
AND
uitslagen.datum < '2008-12-31 00:00:00'
AND
(
uitslagen_data.naam_hond = "Culzean Castle Eamonn Bi Black"
OR
uitslagen_data.naam_hond = "Black Magic From Marmorea's Shelter"
OR
uitslagen_data.naam_hond = "Dapple Blue From Marmorea\'s Shelter"
)
Je zou voor de grap eens kunnen zoeken in de mysql handleiding op 'BETWEEN' alsook 'INTERVAL'
Gewijzigd op 01/01/1970 01:00:00 door Hipska BE
Bedankt voor de hulp, het is nu gelukt.
Edit::
Ergens klopt er iets nog niet, ik heb 17 resultaten i.p.v. 18, PMA [phpmyadmin] geeft aan: Toon Records 0 - 17 (18 totaal, Query duurde 0.0041 sec) ??
Wat doe ik fout ??
Dapple Blue From Marmorea\'s Shelter zou nog 1 keer getoond moeten worden
mvg Joost
Wat doe ik fout ??
Dapple Blue From Marmorea\'s Shelter zou nog 1 keer getoond moeten worden
mvg Joost
Gewijzigd op 01/01/1970 01:00:00 door /home/joost
Bump.
Records 0 - 17, dat zijn er toch 18 in totaal? 0, 1, 2, ..., 16, 17.
Ohja, niet aan gedacht, maar dan nog word Dapple Blue From Marmorea\'s Shelter niet getoond......
Ze staat wel goed in de database....
Ze staat wel goed in de database....
Dat zal door die \' komen. Als je hem zo in PMA invoert, zal hij inderdaad niet gevonden worden, daar hoef je de ' namelijk niet te escapen.
In PHP zou ik dat ook niet met de hand doen, maar gewoon mysql_real_escape_string() gebruiken.
In PHP zou ik dat ook niet met de hand doen, maar gewoon mysql_real_escape_string() gebruiken.



