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 21-11-2011, 14:11
doerfnix
 Registrierter Benutzer
Links : Onlinestatus : doerfnix ist offline
Registriert seit: Nov 2011
Beiträge: 9
doerfnix befindet sich auf einem aufstrebenden Ast
Standard Felder verbinden, group by

Hallo,

Ich habe bereits google bemüht, aber ich scheine nicht die richtigen Suchworte zu finden. Nun zu meinem Problem:
Ich habe 3 Tabellen :
Tabelle a: Namen, Adresse usw.
Tabelle b: Rufnummern
Tabelle c: Mapping Rufnummern -> Namen

Da Namen mehrer Rufnummern besitzen kann, aber auch eine Rufnummer mehreren namen zugeordnet sein kann, habe ich hier eine n:n verbindung über eine dritte Tabelle gebaut.

Nun möchte sich eine Liste ausgeben :
select a.name, b.rufnummer ... join ... join ... where 1;

Als Antwort bekomme ich dann eine Liste:
Mark 56678
Tobias 45567
Tobias 78945
....

Wie bekomme ich es hin das der Eintrag Tobias nicht doppelt auftaucht, sondern die beiden Rufnummern verbunden werden :
Mark 56678
Tobias 45567;78945
....

Gibt es hier ein Lösung direkt in SQL ? Bisher laufe ich die Liste nochmal durch und verbinde mit PHP die beiden Einträge. Ist etwas unschön das die Gesamtzahl der namen nicht stimmt und ich bei einem Limit teilweise weniger Ergebnisse pro seite angezeigt bekomme.

doerfnix
Mit Zitat antworten
  #2 (permalink)  
Alt 21-11-2011, 14:22
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

das geht mit der SQL Aggregatfunktion group_concat()

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 21-11-2011, 15:33
doerfnix
 Registrierter Benutzer
Links : Onlinestatus : doerfnix ist offline
Registriert seit: Nov 2011
Beiträge: 9
doerfnix befindet sich auf einem aufstrebenden Ast
Standard

Super, genau das was ich gesucht habe.

Vieleicht noch ne kleine Frage zu meiner Tabelle :

Tabelle a: Namen
Tabelle b: Festnetz Rufnummer, Mobilfunk-Rufnummer
Tabelle c: Mapping Namen ID -> Rufnummern ID und selector 'festnetz oder Mobil',

Abfrage bisher:
select a.*, b.mobil, b.festnetz, c.type from a left join ... left join ....

In PHP werte ich dann den Rufnummern Type aus und Zeige entsprechend die Festnetzrufnummer oder Mobilfunkrufnummer an.

Gibt es auch ne möglichkeit mit SQL direkt die entsprechende Mobil oder festnetzrufnummer zurückzugeben ?

Leider ist es aus anderen Gründen nicht möglich tabelle b anders aufzubauen.

doerfnix
Mit Zitat antworten
  #4 (permalink)  
Alt 21-11-2011, 16:14
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Du kannst gerne 2 mal mit unterschiedlichen Bedingungen auf die Telefonnummerntabelle joinen, dann hast du Festnetz und Mobil in getrennten Spalten.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #5 (permalink)  
Alt 21-11-2011, 16:15
doerfnix
 Registrierter Benutzer
Links : Onlinestatus : doerfnix ist offline
Registriert seit: Nov 2011
Beiträge: 9
doerfnix befindet sich auf einem aufstrebenden Ast
Standard

OK, hier habe ich dann doch nochmal selber geschaut und dazu
CASE .. WHEN .. THEN .. ELSE .. END

gefunden

Danke für alle die sich gedanken gemacht haben
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zeichenketten verbinden devas SQL / Datenbanken 1 16-02-2011 16:56
Felder im sql string verbinden webINspirit SQL / Datenbanken 8 06-02-2007 14:25
To GROUP or not to GROUP scasburn SQL / Datenbanken 2 28-09-2005 22:03
Zwei Felder mit Abfrage verbinden yakuzza SQL / Datenbanken 3 22-09-2005 15:55
Tabellen verbinden?! normbox SQL / Datenbanken 4 04-10-2002 09:33

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 15:58 Uhr.