MySql Query

messmar

Erfahrenes Mitglied
Guten Abend,

kann mir bitte Jemand evtl. sagen, ob die folgende Query vom Syntax hier richtig ist?

Vielen Dank im Voraus und Gruß

Messmar

<sql:query var="showButton" dataSource="${MyTestDrive2}" sql="SELECT c.carname, c.pricefrom, c.priceto, c.imageurl, c.description, t.name, b.logourl, b.name
FROM car c,
types t,
car_type ct,
brand b
WHERE t.name = '${choosen}'
and (${firstEntry} < c.pricefrom and ${secondEntry} >
c.pricefrom)
or (${firstEntry} < c.priceto and ${secondEntry} >
c.priceto)
and c.carid = ct.carid
and t.typeid = ct.typeid
and c.brandid = b.brandid" />

${firstEntry} and ${secondEntry} sind zwei variablen, wo ich den Value eines textfeldes in zwei teilen gesplitet habe.

In ${firstEntry} wird der pricefrom gespeichert und in ${secondEntry} der priceto.

Hierbei die Options aus dem Select-Feld:
<select>
<option value="500-9000"> <9</option>
<option value="9000-12000">9-12</option>
<option value="23000-30000" >23-30</option>
<option value="12000-17000" >12-17</option>
<option value="17000-23000" >17-23</option>
<option value="30000-200000" >30+</option>
</select>

Der Hintergrund ist, dass es bei einer Tabelle für Autos, einrn Wagen unter zwei Pries-Kategorien vorhanden sein.

z.B.
Passat unter der Preis-Kategorie: 12000 - 17000 (Kostet in diesem Fall
135000)
Passat unter der Preis-Kategorie 9000 – 12000 (kostet in diesem Fall
9500)

Die Tabelle sind flogendermaßen gebaut:

CREATE TABLE `brand` (
`BrandId` int(10) unsigned NOT NULL auto_increment,
`Name` varchar(60) NOT NULL,
`LogoUrl` varchar(60) NOT NULL,
`Priority` int(2) NOT NULL,
PRIMARY KEY (`BrandId`)
);

CREATE TABLE `car` (
`CarId` int(10) unsigned NOT NULL auto_increment,
`Name` varchar(100) NOT NULL,
`PriceFrom` decimal(10,0) unsigned NOT NULL default '0',
`PriceTo` decimal(10,0) NOT NULL default '0',
`BrandId` int(10) unsigned NOT NULL default '0',
`ImageUrl` varchar(200) NOT NULL,
`Description` text NOT NULL,
PRIMARY KEY (`CarId`)
);

DROP TABLE IF EXISTS `car_type`;
CREATE TABLE `car_type` (
`TypeId` int(10) unsigned NOT NULL,
`CarId` int(10) unsigned NOT NULL,
PRIMARY KEY (`TypeId`,`CarId`)
);

CREATE TABLE `types` (
`TypeId` int(10) unsigned NOT NULL auto_increment,
`Name` varchar(60) NOT NULL,
PRIMARY KEY (`TypeId`)
);
 

Neue Beiträge

Zurück