php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 26-11-2008, 09:19
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard [SQL allgemein] 2 Tabellen, 2mal "id" - Wie unterscheiden?

Hi,
wenn ich 2 Tabellen habe welche beide eine Spalte mit dem Namen "id" beinhalten und ich eine mysql Abfrage starte welche mit den beiden id's der Tabellen eine Where Abfrage ermöglichen, habe ich dort eine Möglichkeit die id's zu unterscheiden, außer Sie umzubenennen?

PHP-Code:
// z.B. so ?
SELECT tabelle1.idtabelle2.id FROM tabelle1tabelle2 Where tabelle1.id tabelle2.id 
Mit Zitat antworten
  #2 (permalink)  
Alt 26-11-2008, 09:22
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also langsam reicht's. Bitte das Forum nicht für Grundlagenunterricht mißbrauchen

Suchst du bitte nach Alias. Und das nächste mal bitte zunächst Grundlagen lernen, erst dann fragen. Danke.
Mit Zitat antworten
  #3 (permalink)  
Alt 26-11-2008, 09:25
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von asp2php
Also langsam reicht's. Bitte das Forum nicht für Grundlagenunterricht mißbrauchen

Suchst du bitte nach Alias. Und das nächste mal bitte zunächst Grundlagen lernen, erst dann fragen. Danke.
Ich meine es im Zusammenhang mit JOINs
Mit Zitat antworten
  #4 (permalink)  
Alt 26-11-2008, 09:26
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Einfach mal ausprobieren soll auch schon Wunder offenbart haben.
Mit Zitat antworten
  #5 (permalink)  
Alt 26-11-2008, 09:29
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

guckst du hier. da steht alles.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #6 (permalink)  
Alt 26-11-2008, 09:33
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Kropff
guckst du hier. da steht alles.

peter
Ich rede nicht von normalen Joins oder einer normalen where abfrage, sondern ob man in einer JOIN abfrage auch eine zweite Abfrage, eine WHERE abfrage einbauen kann.
Natürlich ist es unvorteilhaft, aber es geht um das wissen und nicht um die Funktionalität.
Mit Zitat antworten
  #7 (permalink)  
Alt 26-11-2008, 09:38
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dann bilde dich und lies das MySQL-Manual. Da steht alles drin.
(Und wie ich gerade sehe auf Kropffs Seite auch. Wer lesen kann ist klar im Vorteil.)
Mit Zitat antworten
  #8 (permalink)  
Alt 26-11-2008, 09:46
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Es steht aber nichts darüber drin,
ob bei einer fetch_object - while ausgabe man die einzelnen tabellennamen auch unterscheiden kann wie ich angedeutet hatte.
PHP-Code:
echo $row->tabelle1.id 
So kann man die ID's nicht auseinanderhalten.
Auf der Site von Kropff ist dies nirgends beschrieben und ich bin bislang auch nicht darauf gestoßen.
Mit Zitat antworten
  #9 (permalink)  
Alt 26-11-2008, 09:59
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du hättest vielleicht anmerken sollen, dass du kein Problem mit dem Query, sondern mit der Ausgabe von eben dessen Resultset in PHP hast.

fetch_assoc funktioniert in dem Fall nicht. Es wird nur eine von beiden Spalten zurück gegeben.
Wie fetch_object das handhabt weiß ich nicht, das benutze ich nie.
Mit fetch_row funktioniert es aber z.B.
Ich persönlich benenne die Spalten um und verwende weiterhin fetch_assoc.
Mit Zitat antworten
  #10 (permalink)  
Alt 26-11-2008, 10:03
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von ghostgambler
Du hättest vielleicht anmerken sollen, dass du kein Problem mit dem Query, sondern mit der Ausgabe von eben dessen Resultset in PHP hast.

fetch_assoc funktioniert in dem Fall nicht. Es wird nur eine von beiden Spalten zurück gegeben.
Wie fetch_object das handhabt weiß ich nicht, das benutze ich nie.
Mit fetch_row funktioniert es aber z.B.
Ich persönlich benenne die Spalten um und verwende weiterhin fetch_assoc.
Ich hatte zuvor auch immer die Spaltennamen umbenannt.
Die Spalte "id" in der Tabelle "tabelle1" hieß dann bei mir: "tabelle1_id"
Das wollte ich jedoch umgehen weil ich es einfach zu doof fand.
Ich hatte überhaupt nicht an ein anderes resultset gedacht.
Danke für den Tipp.
Mit Zitat antworten
  #11 (permalink)  
Alt 26-11-2008, 10:04
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

verstehe ich nicht.
PHP-Code:
SELECT 
  t1
.id AS id_1
  
t2.id AS id_2
FROM 
  tabelle1 t1

  
tabelle2 t2
WHERE t1
.id t2.id 
dann sollte man doch so darauf zugreifen können:
PHP-Code:
echo $row->id_1;
echo 
$row->id_2
habe allerdings auch noch nie mit fetch_object gearbeitet. aber bei fetch_assoc funktioniert das auf jeden fall.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #12 (permalink)  
Alt 26-11-2008, 10:11
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Er will aber ja gerade nicht alle Spalten umbenennen.

Was übrigens auch eine Lösung ist ist die Spalte(n) nicht id sondern gleich <Tabellenname>_id zu benennen.
Also z.B.
Tabelle user
user_id
username
Tabelle guestbook
guestbook_id
user_id
entry

Hat den Vorteil, dass man deutlich seltener in Kollisionen läuft und Joins noch mit der schöneren USING-Syntax schreiben kann:
SELECT * FROM guestbook INNER JOIN user USING (user_id);
Mit Zitat antworten
  #13 (permalink)  
Alt 26-11-2008, 10:37
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mit einem anderen Resultset bin ich auch nicht weiter gekommen.
Ich finde leider keine Lösung, mehrere tabellen in ein und der selben Abfrage benutzen zu können welche selbe Spaltennamen verwenden wie z.B. "id" oder sonstiges.
Werde wohl auf die alte Methode zurück greifen müssen, die Spaltennamen eindeutig zu identifizieren.
Sprich: Aus "id" in "tabelle1" mach "tabelle1_id" in "tabelle1".
Finde ich zwar seeehr unpraktisch, aber nungut.
Danke Jungs
Mit Zitat antworten
  #14 (permalink)  
Alt 26-11-2008, 10:51
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dafür ist Alias da, wenn du nicht damit umgehen kannst, dann ist es dein Pech. Alle Leute können das, nur du nicht
Mit Zitat antworten
  #15 (permalink)  
Alt 26-11-2008, 10:57
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von asp2php
Dafür ist Alias da, wenn du nicht damit umgehen kannst, dann ist es dein Pech. Alle Leute können das, nur du nicht

Dann sag mir bitte, wie ich im folgenden, ohne umbenennung der spalten oder tabellennamen in der DB an beide ID's komme. Danke
PHP-Code:
mysql_query("SELECT tabelle1.id, tabelle1.irgendwas, tabelle2.id, tabelle2.irgendwas
WHERE tabelle1.irgendwas = tabelle2.irgendwas"

Nun möchte ich als Ausgabe die id (id's) von tabelle1 und auch die id (id's) von tabelle2 haben.
Sag du mir jetzt mal wie ich die ausgeben soll/kann !
Dann bin ich hochauf zufrieden.
Denn wenn die Abfrage fertig ist, enthält die Klasse oder die Array (je nachdem) nur EINEN Wert Namens "id" !
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:50 Uhr.