Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SQL Query erweitern bzgl. Position

Frage Entwicklung Datenbanken

Mitglied: ottscho

ottscho (Level 2) - Jetzt verbinden

27.07.2012 um 07:54 Uhr, 2976 Aufrufe

Hallo,

ich habe in einem Shopsystem mehrere Filter pro Artikel, welche über ein SQL Query geladen werden. Leider haben die Entwickler nicht an die Position gedacht. Diese kann man im Backend für die Filter angeben, aber im Frontend werden die Filter nicht korrekt ausgegeben. Hat mir jemad einen Tipp, wie ich die Abfrage erweitern kann um die Position korrekt zu erhalten?

Alle Tabellen hier aufzuschreiben wäre etwas viel, daher nur mal die wichtigsten Tabelle. In der Tabelle s_filter_relation steht die Position.

01.
s_filter: 
02.
id 	name 	position 	comparable 	sortmode  
03.
1 	Tyres 	1 
04.
2	Wheels 	2 
05.
3	Tubes 	3 
06.
 
07.
s_filter_realtion: 
08.
id 	groupID 	optionID 	position  
09.
1 	1       	1       	1  
10.
2 	1       	2       	2 
11.
3 	1       	3       	4 
12.
4 	1       	4       	3   
13.
 
14.
s_filter_options: 
15.
id 	name 	        filterable 	default 
16.
1 	ECO PRODUCT 	1 	 
17.
2 	XL REINFORCED 	1 	 
18.
3 	RUNFLAT 	1 	 
19.
4 	TEST 	        1 	 
20.
5 	SPEED 	        1 	 
21.
6 	TYRE CLASS 	1 	 
22.
 
23.
s_filter_values: 
24.
id 	groupID 	optionID 	articleID 	value 
25.
219900 	1 	        20 	        53494 	        63.3 
26.
219899 	1 	        19 	        53494 	        38 
27.
219898 	1 	        18 	        53494 	        100 
28.
219897 	1 	        17 	        53494 	        5 
29.
 
01.
SELECT  
02.
fv.optionID AS id, COUNT(*) AS countOptionValues, 
03.
fo.name AS optionName, 
04.
f.name AS groupName, 
05.
fv.value AS optionValue, 
06.
fv.id AS uniqueID, 
07.
st.objectdata AS optionNameTranslation, 
08.
st2.objectdata AS groupNameTranslation, 
09.
st3.objectdata AS articleTranslation 
10.
 
11.
FROM  
12.
s_articles_categories ac, 
13.
s_filter_values fv 
14.
 
15.
LEFT JOIN s_core_translations AS st ON st.objecttype='propertyoption'  
16.
AND st.objectkey=fv.optionID  
17.
AND st.objectlanguage='de'  
18.
 
19.
LEFT JOIN s_core_translations AS st2 ON st2.objecttype='propertygroup'  
20.
AND st2.objectkey=fv.groupID  
21.
AND st2.objectlanguage='de'  
22.
 
23.
LEFT JOIN s_core_translations AS st3 ON st3.objecttype='properties'  
24.
AND st3.objectkey=fv.articleID  
25.
AND st3.objectlanguage='de'  
26.
 
27.
JOIN  
28.
s_filter_options fo,  
29.
s_filter f,  
30.
s_articles a  
31.
 
32.
WHERE ac.categoryID=15  
33.
AND a.id = ac.articleID  
34.
AND a.id = fv.articleID  
35.
AND a.filtergroupID = f.id  
36.
AND a.active =1  
37.
AND a.changetime <= NOW()  
38.
AND fv.optionID = fo.id  
39.
AND fo.filterable = 1  
40.
AND fv.groupID = f.id  
41.
 
42.
GROUP BY fv.optionID, 
43.
fv.value  
44.
 
45.
ORDER BY fo.name ASC, 
46.
IF(f.sortmode=1, TRIM(REPLACE(fv.value,',','.'))+0, 0), IF(f.sortmode=2, COUNT(*) , 0) DESC, 
47.
fv.value
Danke für eure Hilfe.

Gruß
Ottscho
Neuester Wissensbeitrag
Ähnliche Inhalte
VB for Applications
Anpassungsdatei verschiedene Parameter (Hostname, SQL, Registry) ändern (3)

Frage von MiMa89 zum Thema VB for Applications ...

Backup
Veeam Endpoint Backup findet SQL Datenbank nicht (1)

Frage von FFSephiroth zum Thema Backup ...

Datenbanken
gelöst Access 2010 SQL Tabellen Datensätze einfügen (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Windows Server
Sql server 2014 installation auf einer windows server 2012r2 vm (5)

Frage von meister00 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Viren und Trojaner
gelöst Wie werde ich den Mist "fanli90" wieder los? (18)

Frage von Taumel zum Thema Viren und Trojaner ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (17)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (10)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...