php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.01.2008, 16:18  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard Mehrere Werte in einer Zelle auslesen

Hallo,

ich hab folgendes Problem:

Ich habe normal eine Spalte "object_id" die eine Verknüpfung zu einem anderen Datensatz in einer anderen Tabelle darstellt.
Ich möchte jetzt allerdings in dieser Spalte mehrere ID's unterbringen ohne eine neue Tabelle zu nutzen (wäre sinnvoll, allerdings soll ich ein System erweitern und das wäre etwas viel Aufwand). So soll in der Zelle dann beispielsweise 1,2,4, stehen.
Die Frage ist jetzt, wie kann ich in einem SQL Query jetzt alle Datensätze zu dem Object x auslesen? Es muss nämlich hierbei sowohl die Aufzählungsschreibweise (1,2,4,6,; gibts hier Alternativen?) und auch die normale Schreibweise (6) berücksichtigt werden.


mfg
Link
GSJLink ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.01.2008, 17:06  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Für das, was du vorhast, gibt es keine vernünftige Lösung. Es wäre alles mit Sicherheit aufwändiger, als die DB zu Normalisieren.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 08.01.2008, 17:14  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo GSJLink,

angenommen, in dem Feld stehen alle IDs einer anderen Tabelle in der Form

Code:
1,9,47,11
dann kannst du theoretisch ein

Code:
SELECT * FROM othertable WHERE id IN (SELECT object_id FROM firsttable WHERE bla = 'blub')
machen. Das funktioniert aber nur, wenn der MySQL Statement Parser eine IN-Liste ohne ' akzeptiert. Das ist aber mehr Gebastel als du dir damit gutes tun würdest.

Die weitaus bessere Möglichkeit das mit möglichst wenig Aufwand zu erzeugen, ist eine Beziehungstabelle einzufügen, die die Zuordnung zwischen Tabelle 1 und Tabelle 2 herstellt. Diese Tabelle kannst du sehr einfach pflegen und die IDs mit zwei JOINs auslesen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 08.01.2008, 17:23  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Gut ich werde es doch mit einer zusätzlichen Tabelle machen. Die Lösung ist dann schöner.

mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline   Mit Zitat antworten
Alt 08.01.2008, 18:44  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hast du mein SELECT mal ausprobiert?
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 08.01.2008, 21:22  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Das funktioniert so leider nicht. Weil es mir ja genau um den WHERE Ausdruck bla = 'blubb' geht

mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline   Mit Zitat antworten
Alt 08.01.2008, 23:20  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Ja und? In meinem Beispiel habe ich ja ein

Code:
WHERE IN (...)
Ich glaube also, du hast mich nicht genau verstanden, oder dein Problem nicht wirklich komplett beschrieben...
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 09.01.2008, 08:10  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

@dr.e.
WHERE IN (...) funktioniert mit einer Auswahliste aus verschiedenen Sätzen, hat aber nichts mit Substrings zu tun, die hier nötig wären. Die Problemstellung von GSJLink ist nicht mit einer Abfrage lösbar, höchstens mit einer Stored Procedure. Und der Aufwand damit wäre sicher grösser, als die nun realisierte Lösung. Die ist m.E. nicht nur "schöner" - das wäre mit egal - sondern die einzig vernünftige.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 10.01.2008, 20:50  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

@lazydog: ich hätte vermutet - ausprobiert habe ich es nie, da ich derartige Lösungen nicht bevorzuge - dass der String eine Liste von IDs repräsentieren kann, die dann als IN-Liste dienen können. Wenn das nicht geht ist Möglichkeit Beziehungstabelle zu wählen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. 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
Werte aus einem Text auslesen Smilerr PHP Tipps 2008 1 18.05.2008 19:27
Werte aus txt Datei auslesen und mit DB Werten abgleichen und ausgeben MatthiasNI PHP-Fortgeschrittene 1 18.02.2008 17:07
checkbox .. mehrere werte auslesen bei gleichem namen PHP Tipps 2005-2 9 12.10.2005 15:24
[Erledigt] werte aus mehreren tabellen auslesen Datenbanken 5 18.09.2005 13:45
[Erledigt] Nur Teil von Zelle auslesen Datenbanken 7 16.09.2005 13:38
spezielle werte aus einem text auslesen PHP Tipps 2005-2 7 02.07.2005 15:09
Bestimmte Werte aus cvs Datei auslesen PHP Tipps 2005-2 1 20.06.2005 13:11
[Erledigt] Mehrere Werte mit GET von einer Tabelle auslesen... PHP Tipps 2005 2 01.06.2005 13:53
Werte aus enum auslesen Malfunction Datenbanken 1 07.03.2005 10:10
Werte in Textdatei speichern und auslesen PHP Tipps 2004-2 12 21.12.2004 09:22
Checkboxes, Werte in Array übertragen und Auslesen ->Prob obi PHP Tipps 2004 6 04.11.2004 13:36
[Erledigt] Werte aus Textdatei auslesen PHP Tipps 2004 22 19.10.2004 15:00
Die 10 letzten werte aus einer mysql datenbank auslesen Datenbanken 2 15.09.2004 18:28
[Erledigt] Einzelne Werte aus TXT Datei auslesen und anzeigen. PHP Tipps 2004 1 08.09.2004 06:31
[Erledigt] Werte eines Arrays aus Tabelle auslesen ? PHP-Fortgeschrittene 12 08.06.2004 19:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql mehrere werte in eine zelle, mehrere werte in einer zelle, mysql mehrere werte in einer zelle, mehrere werte in einer zelle mysql, sql mehrere werte in einer zelle, sql mehrer werte in einer zelle, http://www.php.de/datenbanken/45320-mehrere-werte-einer-zelle-auslesen.html, zwei werte in einer zelle, mehrere zahlen in einer zelle, mehrere werte in eine spalte sql??, sql wert aus zelle, wert aus einer zelle auslesen, sql werte in einer zeile, mehrere werte aus zelle auslesen, mysql mehrere werte in eine zelle, eine zelle mehrere werte, sql statement zwei werte aus einer spalte auslesen, mysql mehrere daten in eine zelle, sql werte in zelle, sql mehrere werte eine zelle

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:06 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.