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 03-05-2007, 16:12
vollnull
 Newbie
Links : Onlinestatus : vollnull ist offline
Registriert seit: Sep 2005
Beiträge: 15
vollnull ist zur Zeit noch ein unbeschriebenes Blatt
Standard 2 Spalten aus derselben Tabelle zusammenfügen

Hallo,
ich habe in einer Tabelle 2 Spalten namens "K1" und "K2". Nun möchte ich eine Abfrage formulieren, die bewirkt, dass ich eine Spalte bekomme, in der alle Inhalte der 2 Spalten vorkommen, allerdings nur einmal.
Ein ganz einfaches Beispiel:

K1 | K2
1 | 2
2 | 3

soll dann ergeben

K
1
2
3

Ich hoffe mir ist zu helfen.
Danke schon mal.
Mit Zitat antworten
  #2 (permalink)  
Alt 03-05-2007, 16:14
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wozu eigentlich?
Mit Zitat antworten
  #3 (permalink)  
Alt 03-05-2007, 19:50
vollnull
 Newbie
Links : Onlinestatus : vollnull ist offline
Registriert seit: Sep 2005
Beiträge: 15
vollnull ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das ist geheim, aber weil du es bist, verrate ich es dir.
Mit dem Ergebnis der Abfrage möchte ich eine HTML Auswahlliste mit Elementen füllen.
Mit Zitat antworten
  #4 (permalink)  
Alt 03-05-2007, 20:38
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

UNION ist dein Freund, etwa so

select ...
union
select ...

schau dir weitere Optionen für UNION an
Mit Zitat antworten
  #5 (permalink)  
Alt 03-05-2007, 20:49
vollnull
 Newbie
Links : Onlinestatus : vollnull ist offline
Registriert seit: Sep 2005
Beiträge: 15
vollnull ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hatte ich schon mal probiert.
SELECT K1 FROM `output` UNION SELECT K2 FROM `output`;
So habe ich das eingegeben.
Und dann kommt ein Fehler:
#1064 - You have an error in your SQL syntax near 'UNION SELECT K2 FROM `output` LIMIT 0, 30' at line 1

Wobei mir gerade aufgefallen ist, dass das Komma bei LIMIT 0, 30 rot markiert wird. Die gute phpMyAdmin schreibt also selber was zur Abfrage dazu und baut einen Fehler ein. Wie geil ist das denn?
Mit Zitat antworten
  #6 (permalink)  
Alt 03-05-2007, 20: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

1. deine gepostete Abfrage hat nichts mit der Fehlermeldung zu tun, warum zeigst du deine Abfrage nicht?
2. hast du schon den Syntax von UNION dir angeschaut?
Mit Zitat antworten
  #7 (permalink)  
Alt 03-05-2007, 21:16
vollnull
 Newbie
Links : Onlinestatus : vollnull ist offline
Registriert seit: Sep 2005
Beiträge: 15
vollnull ist zur Zeit noch ein unbeschriebenes Blatt
Standard

1. Die gepostete Abfrage hat den Fehler erzeugt, ob du es nun glaubst oder nicht.

2. Ja, inzwischen auch gründlicher. Jetzt weiß ich, dass die Spalten gleich heißen müssen und das der Datentyp der Spalten varchar ist, was wahrscheinlich Probleme macht.
Mit Zitat antworten
  #8 (permalink)  
Alt 03-05-2007, 21:20
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von vollnull
1. Die gepostete Abfrage hat den Fehler erzeugt, ob du es nun glaubst oder nicht.
Quark ... in der Abfrage steht nichts von LIMIT...
Mit Zitat antworten
  #9 (permalink)  
Alt 03-05-2007, 21:24
vollnull
 Newbie
Links : Onlinestatus : vollnull ist offline
Registriert seit: Sep 2005
Beiträge: 15
vollnull ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von vollnull
... Die gute phpMyAdmin schreibt also selber was zur Abfrage dazu ...
Alles klar?
Mit Zitat antworten
  #10 (permalink)  
Alt 04-05-2007, 08:02
stekoe2000
 Registrierter Benutzer
Links : Onlinestatus : stekoe2000 ist offline
Registriert seit: Jul 2003
Beiträge: 342
stekoe2000 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OffTopic:
Wie schroff ^^

PHP-Code:
(SELECT K1 FROM outputUNION (SELECT K2 FROM output); 
Funktioniert bei mir ...

Auch ohne Klammern:

PHP-Code:
SELECT K1 AS k
FROM output
UNION SELECT K2 
AS k
FROM output
ORDER BY k DESC 
LIMIT 0 
30 
__________________
Liebe Grüße,
SteKoe!

PHP Tutorials
Peter Kropff | Quakenet | Schattenbaum.net

Geändert von stekoe2000 (04-05-2007 um 08:17 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 04-05-2007, 09:12
ZombieChe
 Member
Links : Onlinestatus : ZombieChe ist offline
Registriert seit: Apr 2004
Ort: Hannover
Beiträge: 225
ZombieChe ist zur Zeit noch ein unbeschriebenes Blatt
ZombieChe eine Nachricht über ICQ schicken
Standard

phpMyAdmin setzt das Limit um die Ausgabe auf 30 Zeilen zu begrenzen. Den Fehler darfst du aber leider nicht darauf schieben.
Mit Zitat antworten
  #12 (permalink)  
Alt 04-05-2007, 12:40
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.271
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

MySQL - Version?
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!
Mit Zitat antworten
  #13 (permalink)  
Alt 04-05-2007, 15:11
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von vollnull
Das ist geheim, aber weil du es bist, verrate ich es dir.
Mit dem Ergebnis der Abfrage möchte ich eine HTML Auswahlliste mit Elementen füllen.
und auch da ist mir noch nicht ganz klar, welche art von tabellarisch erfassbaren daten, die du in _zwei spalten_ ablegst, in _einer ergebnisspalte_ ausgegeben werden sollen. mit anderen worten: was sind denn das für daten?
Mit Zitat antworten
  #14 (permalink)  
Alt 04-05-2007, 18:27
vollnull
 Newbie
Links : Onlinestatus : vollnull ist offline
Registriert seit: Sep 2005
Beiträge: 15
vollnull ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also,
ich möchte Projekte von mir online stellen und die in Kategorien einordnen. Dann bekommt so ein Projekt in der Spalte K1 meinetwegen "Studium" und in der Spalte K2 z.B. "3D".
Wenn ich nun ein neues Projekt eintrage, dann möchte ich eine Auswahlliste haben mit allen Kategorien, die ich schon mal eingetragen habe, damit ich sie nicht nochmals eintippen brauche, sondern bloß auswählen.

Und genau das hier:
SELECT K1 AS k FROM output UNION SELECT K2 AS k FROM output
funktioniert bei mir eben nicht, ich weiß nicht warum.
Mit Zitat antworten
  #15 (permalink)  
Alt 04-05-2007, 18:38
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ah, verstehe... aber wozu speicherst du sie dann in zwei verschiedenen spalten, wenn es eine und dieselbe datenart ist: kategorien?

ein sehr viel sauberer ansatz (stichwort normalisierung) wäre es, zwei zusätzliche tabellen anzulegen:

tabelle "kategorien":

kategorie_id, kategorie_name:
1, 3d
2, studium
3, kunst


tabelle "kategorie_zuordnung":

projekt_id, kategorie_id(, kategorie_nummer*):
42, 1
42, 2

* optional, um die trennung zwischen primär- und sekundär-kategorien zu haben, z.b.

ich denke, es ist klar, wie die anfragen dann auszusehen haben?
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 07:55 Uhr.