php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.06.2008, 14:28  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard [Erledigt] MySql Frage: Problem mit einer etwas lomplexeren Abfrage

Hallo Community,

ich hab hier eine etwas komplexere Abfrage um mir mehrere Abfrage zu sparen.

Ich möchte also in einem Zug, den username, user id, die anzahl privater nachricht und ob der empfänger den Sender ignoriert.

Kurz um gesagt, ich will damit checken, ob der Empfänger Nachrichten empfangen will und ob er das darf (anzahl an Nachrichten und / oder ob der Sender vom Empfänger ignoriert wird)

Dazu habe ich mir folgende Abfrage ausgedacht:
Code:
SELECT
  u.user_id,
  u.user_name,
  g.group_maxpm,
  COUNT( r.pm_id ) AS pm_count,
  f.ignored
FROM
  table_user u,
  table_user_group g
LEFT JOIN
  table_pm_recipients r 
  ON ( 
    r.user_id = u.user_id 
    AND r.pm_folderid = 0
  )
LEFT JOIN
  table_friend f
  ON( 
    f.user_id = u.user_id 
    AND f.to_user_id = 2 
  )
WHERE
  u.group_id = g.group_id
AND
  u.user_id IN (1)
GROUP BY
  u.user_id
Dazu meldet mir allerdings PHP-Myadmin:
#1054 - Unknown column 'u.user_id' in 'on clause'
Mache ich jetzt statt dem u.user_id ein user_id, dann funktioniert es, jedoch nur wenn ich die Friend-abfrage auch weglasse, da ja auch u.user_id da steht.

Nehme ich jetzt aus beiden Joins das u.user_id raus und mache user_id draus, so bekomme ich folgenden fehler:
#1052 - Column 'user_id' in on clause is ambiguous

Ich hoffe ihr könnt mir dabei helfen und danke im Vorraus
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."

Geändert von tomtaz (23.06.2008 um 11:05 Uhr).
tomtaz ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.06.2008, 10:52  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Weiß da keiner was daran falsch ist, oder will mit PHP-MyAdmin nur verarschen. Ich meine, so rein theoretisch ist die Abfrage doch korrekt oder nicht?
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline   Mit Zitat antworten
Alt 23.06.2008, 11:28  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
oder will mit PHP-MyAdmin nur verarschen
Das wirds sein. Bitte nicht drängeln...
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 24.06.2008, 20:43  
s1x
Benutzer
 
Benutzerbild von s1x
 
Registriert seit: 24.06.2008
Beiträge: 36
s1x befindet sich auf einem aufstrebenden Ast
s1x eine Nachricht über ICQ schicken
Standard

Hm wieso baust du eigentlich deine MySQL Abfrage so so auf?
Ich pers. würde einfach die Abfrage table_user_group auch in ein "LEFT JOIN" machen. Falls du doppelte Bezeichnungen hast hilft ja auch "as".

Gruß s1x
s1x ist offline   Mit Zitat antworten
Alt 24.06.2008, 22:23  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von s1x Beitrag anzeigen
Hm wieso baust du eigentlich deine MySQL Abfrage so so auf?
Ich pers. würde einfach die Abfrage table_user_group auch in ein "LEFT JOIN" machen. Falls du doppelte Bezeichnungen hast hilft ja auch "as".

Gruß s1x
Hi, also diese Abfrage hat dann funktioniert, also so:
Code:
SELECT
  u.user_id,
  u.user_name,
  g.group_maxpm,
  COUNT( r.pm_id ) AS pm_count,
  f.ignored
FROM
  table_user u
LEFT JOIN
  table_user_group g
  USING (group_id)
LEFT JOIN
  table_pm_recipients r 
  ON ( 
    r.user_id = u.user_id 
    AND r.pm_folderid = 0
  )
LEFT JOIN
  table_friend f
  ON( 
    f.user_id = u.user_id 
    AND f.to_user_id = 2 
  )
WHERE
  u.group_id = g.group_id
AND
  u.user_id IN (1)
GROUP BY
  u.user_id
Ich danke dir. Aber warum geht es so, aber nicht anders, kann ich mir einfach nicht erklären...
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline   Mit Zitat antworten
Alt 24.06.2008, 22:36  
s1x
Benutzer
 
Benutzerbild von s1x
 
Registriert seit: 24.06.2008
Beiträge: 36
s1x befindet sich auf einem aufstrebenden Ast
s1x eine Nachricht über ICQ schicken
Standard

Weil die Syntax von Selects und Joins das halt nicht zulässt
s1x ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Mysql - UTF-8 PHP 7Style PHP Tipps 2008 2 20.07.2008 00:48
[Erledigt] problem mit mysql db.. philipp_php PHP Tipps 2008 14 05.07.2008 04:19
[Erledigt] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
Frage: richtige SQL Abfrage von einer MySQL Spalte die SET werte besitzt Seb PHP Tipps 2008 2 29.05.2008 11:36
Abfrage bei mySQL 4 ApfeL Datenbanken 5 24.03.2006 18:53
[Erledigt] MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
[Erledigt] MYSQL Problem Datenbanken 4 09.02.2006 15:14
komplizierte mysql abfrage php_frage PHP Tipps 2007 5 28.12.2005 17:55
UNIQUE Frage ( abfrage problem ) Mondschein Datenbanken 6 08.11.2005 12:44
frage zu mySQL abfrage imported_dex PHP Tipps 2005-2 3 26.10.2005 23:28
[Erledigt] MySQL Abfrage über mehrere Tabellen [Erledigt] Datenbanken 2 14.10.2005 13:37
[Erledigt] MySQL Abfrage fieses Problem Datenbanken 5 21.07.2005 14:19
Problem mit Mysql Abfrage PHP Tipps 2005-2 0 11.07.2005 14:21
Problem mit mysql abfrage maximus PHP Tipps 2005 4 16.05.2005 19:56
[Erledigt] mysql Abfrage Datenbanken 5 18.06.2004 14:16

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
column \'id\' in where clause is ambiguous, column \'id\' in order clause is ambiguous, mysql fehler 1052, column \'id\' in on clause is ambiguous, column \'user_id\' in where clause is ambiguous, in where clause is ambiguous, #1052 - column \'id\' in order clause is ambiguous, #1052 - column \'id\' in where clause is ambiguous, in on clause is ambiguous, mysql error 1052, fehler 1052, #1052 - column in where clause is ambiguous, mysql 1052, fehlerbehebung 1052, #1052 - column \'message_id\' in where clause is ambiguous, 1052column \'id\' in order clause is ambiguous, mysql 1052 column in where clause is ambiguous, clause is ambiguous, in group statement is ambiguous, column \'user_id\' in on clause is ambiguous

Alle Zeitangaben in WEZ +1. Es ist jetzt 21:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum