Vermutlich ein Join-Problem

yahooooo

Mitglied
MYSQL: Vermutlich ein Join-Problem

Hi!
Ich habe hier folgenden Code, den ich per Coldfusion an ne MySql-DB absetze:

Code:
		<cfquery name="detaildataform2" datasource="#dsn#">
			SELECT  det.A AS detA, #fieldlist# wvak.A AS wvakA, wvak.VPE, wvak.P, wvak.s_id 
			FROM kv_detaildaten det
			LEFT  JOIN wv_artikeldaten_kv wvak ON det.A = wvak.kv_a
			INNER  JOIN kv_grunddaten gru ON gru.id = det.g_id
			INNER  JOIN kv_bereiche ber ON gru.b_id = ber.id
			<cfif gID neq "">
				WHERE det.g_id =  '#gID#' 
			</cfif>
				ORDER BY #sort# #way#
		</cfquery>

Dazu mal ne Erklärung. Im Wesentlichen geht es darum, eine Liste von Datensätzen aus der Tabelle kv_detaildaten rauszuschmeissen. Wenn in den wv_artikeldaten zusätzliche Informationen dazu stehen, dann möchte ich die auch verwerten können. Der Rest ist im Prinzip hier unwichtig.

Das Problem ist, dass zum Feld A in der Tabelle wvak mehrere Datensätze existieren können. Ich möchte aber nur die haben, die einen bestimmten Wert im Feld wvak.S_ID haben. Leider kann ich das nicht mit in die Where-Klausel einbauen, weil ich dann nicht mehr alle Datensätze aus kv_detaildaten bekomme.

Ich habs schon mit ner sog. Query of Queries versucht, also noch einmal nen Selectbefehl auf das erste Ergebnis abzusetzen, aber da fange ich mir immer Fehler ein, weil Coldfusion da mit den Datentypen etwas unberechenbar ist...im Moment behelfe ich mir noch dadurch, dass ich hinterher anhand einer Liste die ungewollten Datensätze aus dem Queryset wieder entferne, aber das kanns ja nicht sein...

Hat da jemand ne Idee, wie ich die Query da oben passend hinkriege?
 
Zuletzt bearbeitet:
Hat sich erledigt...
Code:
 		<cfquery name="detaildataform" datasource="#dsn#">
			SELECT  det.A AS detA, #fieldlist# wvak.A AS wvakA, wvak.VPE, wvak.P, wvak.s_id 
			FROM kv_detaildaten det
			LEFT  JOIN wv_artikeldaten_kv wvak ON det.A = wvak.kv_a
			INNER  JOIN kv_grunddaten gru ON gru.id = det.g_id
			INNER  JOIN kv_bereiche ber ON gru.b_id = ber.id
			<cfif gID neq "">
				WHERE det.g_id =  '#gID#'  AND ((wvak.s_id = '#ATTRIBUTES.id#') OR (wvak.s_id IS NULL))
			</cfif>
				ORDER BY #sort# #way#
		</cfquery>
 
Zurück