Hi,
möchte folgende Abfrage machen:
SELECT *
FROM bestellungen
LEFT JOIN fragen_antworten fa
USING ( id_bestellungen )
WHERE plz
LIKE '6%' AND fa.id_antworten =27 AND fa.id_antworten =29 LIMIT 0 , 30
Daten der Tabelle fragen_antworten:
CREATE TABLE `fragen_antworten` (
`id_bestellungen` int(10) unsigned NOT NULL default '0',
`id_fragen` int(10) unsigned NOT NULL default '0',
`id_antworten` int(10) unsigned NOT NULL default '0'
) TYPE=MyISAM;
INSERT INTO `fragen_antworten` VALUES (1, 6, 27);
INSERT INTO `fragen_antworten` VALUES (1, 6, 29);
INSERT INTO `fragen_antworten` VALUES (1, 3, 12);
INSERT INTO `fragen_antworten` VALUES (3, 7, 31);
INSERT INTO `fragen_antworten` VALUES (3, 6, 29);
In der Tabelle bestellungen möcht ich z.B. nach dem PLZ Gebiet 6 suchen (Daten sich nicht wichtig. Soll nur ein Beispiel sein woher ich die id_bestellungen bekomme). Alle die in dem PLZ Gebiet leben und die Antworten 27 UND 29 gegeben haben, möchte ich als Suchergebniss bekommen.
Problem ist das ich natürlich nicht nach AND suchen kann:
fa.id_antworten =27 AND fa.id_antworten =29
Da MySQL ja pro Zeile sucht.
OR geht auch nicht, da ich ja sonst auch bestellungen ausgegeben bekomme wo nur die Antwort 29 oder 27 gegeben wurde.
Wie könnte ich dieses Problem nun lösen? Ist das überhaupt in einem Query lösbar? Oder muß ich mehrere machen?
..... die Anzahl der Fragen und Antworten ist komplett dynamisch.....
P.S es muß möglich sein auch nach mehreren oder wenigeren Antworten zu suchen
möchte folgende Abfrage machen:
SELECT *
FROM bestellungen
LEFT JOIN fragen_antworten fa
USING ( id_bestellungen )
WHERE plz
LIKE '6%' AND fa.id_antworten =27 AND fa.id_antworten =29 LIMIT 0 , 30
Daten der Tabelle fragen_antworten:
CREATE TABLE `fragen_antworten` (
`id_bestellungen` int(10) unsigned NOT NULL default '0',
`id_fragen` int(10) unsigned NOT NULL default '0',
`id_antworten` int(10) unsigned NOT NULL default '0'
) TYPE=MyISAM;
INSERT INTO `fragen_antworten` VALUES (1, 6, 27);
INSERT INTO `fragen_antworten` VALUES (1, 6, 29);
INSERT INTO `fragen_antworten` VALUES (1, 3, 12);
INSERT INTO `fragen_antworten` VALUES (3, 7, 31);
INSERT INTO `fragen_antworten` VALUES (3, 6, 29);
In der Tabelle bestellungen möcht ich z.B. nach dem PLZ Gebiet 6 suchen (Daten sich nicht wichtig. Soll nur ein Beispiel sein woher ich die id_bestellungen bekomme). Alle die in dem PLZ Gebiet leben und die Antworten 27 UND 29 gegeben haben, möchte ich als Suchergebniss bekommen.
Problem ist das ich natürlich nicht nach AND suchen kann:
fa.id_antworten =27 AND fa.id_antworten =29
Da MySQL ja pro Zeile sucht.
OR geht auch nicht, da ich ja sonst auch bestellungen ausgegeben bekomme wo nur die Antwort 29 oder 27 gegeben wurde.
Wie könnte ich dieses Problem nun lösen? Ist das überhaupt in einem Query lösbar? Oder muß ich mehrere machen?
..... die Anzahl der Fragen und Antworten ist komplett dynamisch.....
P.S es muß möglich sein auch nach mehreren oder wenigeren Antworten zu suchen
Kommentar