16 messages in com.mysql.lists.mysql-deFrage zu Joins mit ON Klausel
FromSent OnAttachments
Jürgen Schneider19 Jun 2006 01:58 
Barry19 Jun 2006 02:02 
Jürgen Schneider19 Jun 2006 02:07 
Barry19 Jun 2006 02:22 
Jürgen Schneider19 Jun 2006 02:51 
Barry19 Jun 2006 02:55 
Jürgen Schneider19 Jun 2006 03:16 
Barry19 Jun 2006 06:31 
Sebastian Mendel19 Jun 2006 06:51 
Jürgen Schneider20 Jun 2006 00:02 
Jürgen Schneider20 Jun 2006 00:03 
Marcus Franke20 Jun 2006 00:08 
Sebastian Mendel20 Jun 2006 00:29 
Jürgen Schneider21 Jun 2006 01:14 
Rene22 Jun 2006 11:41 
Barry26 Jun 2006 00:57 
Subject:Frage zu Joins mit ON Klausel
From:Rene (Re@svrider.de)
Date:06/22/2006 11:41:18 AM
List:com.mysql.lists.mysql-de

Hallo Liste! Ich habe schon seit längerem eine Frage, die ich immer vor mich her schiebe. Ich habe z.B. den folgenden SQL Select:

SELECT u.user_id, u.username, r.user_id AS drin FROM HP_users u LEFT JOIN HP_rechte r ON ((r.user_id = u.user_id) AND (r.wert1 = 75) AND (r.skript = "bdm")) ORDER BY u.username

Im sauberen SQL Stil soll man in der ON Klausel ja keine Konstanten als Vergleich angeben sondern dort nur verknüpfte Tabellen. Ich gebe dort aber Konstanten an und weiß nicht wie ich die bei einem LEFT JOIN auslagern kann. Sobald ich es wie folgt versuche, bekomme ich ein leeres Ergebnis und nicht Tonnen von Datensätzen mit einer Spalte "drin" = NULL wie gewollt.

SELECT u.user_id, u.username, r.user_id AS drin FROM HP_users u LEFT JOIN HP_rechte r ON r.user_id = u.user_id WHERE r.wert1 = 75 AND r.skript = "bdm" ORDER BY u.username

Wie könnte man solche Probleme generell lösen? Ist nur eins von ein paar Statements, wo ich Konstanten im ON Teil angegeben habe.