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, 2981 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
Batch & Shell
gelöst String automatisch anpassen (erweitern oder kürzen) (8)

Frage von CreatorX zum Thema Batch & Shell ...

Datenbanken
SQL Express - der Benutzer war nicht autorisiert (6)

Frage von adm999 zum Thema Datenbanken ...

Datenbanken
gelöst Hilfe bei SQL-Abfrage (5)

Frage von emeriks zum Thema Datenbanken ...

Windows Server
SQL Server sichern in Azure (2)

Frage von xxlukasxx zum Thema Windows Server ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (25)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (17)

Frage von MarkusVH zum Thema Windows 10 ...

Server-Hardware
gelöst Erfahrungswerte Hardwaresupport physikalische Server (16)

Frage von Devilx zum Thema Server-Hardware ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (15)

Frage von bogi1102 zum Thema Exchange Server ...