Hallo
ich hab zwei Tabellen in denen ich eine Abfrage starten will, die Abfrage funktioniert, aber die Sortierung nach Absteigend nicht.
In TabelleA stehen irgendwelche Begriffe und die Häufigkeit in der die in meiner Anwendung vorkommen.
In TabelleB steht die Zugehörigkeit der Begriffe zueinander und die Häufigkeit der Zugehörigkeit.
Also zum Beispiel:
Begriff x gehört zu Begriff z, Häufigkeit 4
Begriff y gehört auch zu Begriff z, Häufigkeit 8
Genau die absteigende Sortierung nach der dieser Häufigkeit funktioniert nicht..
Hier meine Abfrage:
Code:
SELECT item FROM tabelleA WHERE id = ANY (
SELECT id_lowitem FROM TabelleB WHERE id_highitem = (
SELECT id FROM tabelleA WHERE item = "irgendEinWert") ORDER BY tabelleB.frequency DESC)
Die Abfrage soll folgendes machen:
Schaue in TabelleA welche id der Begriff "irgendEinWert" hat, dann schaue in TabelleB wo diese id überall in Spalte id_highitem drinsteht und finde dazu dann alle Begriffe aus TabelleA mit der id aus TabelleB id_lowitem.
TabelleA
Code:
CREATE TABLE IF NOT EXISTS `tabelleA` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`item` varchar(40) CHARACTER SET utf8 NOT NULL,
`frequency` bigint(20) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `item` (`item`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=12 ;
und tabelleB
Code:
CREATE TABLE IF NOT EXISTS `TabelleB` (
`id_highitem` bigint(20) NOT NULL,
`id_lowitem` bigint(20) NOT NULL,
`frequency` bigint(20) NOT NULL,
PRIMARY KEY (`id_highitem`,`id_lowitem`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Hoffe mir kann jemand einen Tipp geben..
Danke