php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.06.2006, 15:09  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard mysql mehrere felder aus 2 tabellen bei vorhandensein eines

ich will alle felder aus tabelleA und zusätzlich das feld name aus tabelleB aber nur wenn die ID aus dem feld tabelleB in dem textfeld inthis in tabelleA vorhanden ist.

und jetzt gehts los...

SELECT id, name, inthis as isitin FROM tabelleA AND SELECT name FROM tabelleB WHERE tabelleB.id LIKE '%isitin%'

oder wie ? oder wat ?

Also alle Felder aus TabelleA und zusätzlich wenn TabelleA.inThis TabelleB.ID enthält auch TabelleB.Name

mist ich krichn KOLLER !
__________________
keine
cytrobic ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 29.06.2006, 15:14  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

Dann musst du wohl mit IF() arbeiten !!

http://dev.mysql.com/doc/refman/5.1/...functions.html

und dann solltest du das ganze nochmal überdenken .. weil SO geht das nicht !!!

kanns tdoch die MySQL Abfrage nicht einfach der deutschen Grammatik anpassen ...
M3g4Star ist offline   Mit Zitat antworten
Alt 29.06.2006, 15:36  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard

SELECT TabelleA.*, TabelleA.inThis AS value FROM TabelleA LEFT JOIN (TabelleB) ON (TabelleB.ID LIKE '%value%')

so ?

Hier mit IF und so da gehts auch aber gibt der mir alle Datensätze von TabelleA zurück oder nur die in der IF() mit TabelleB übereinstimmen ?
__________________
keine
cytrobic ist offline   Mit Zitat antworten
Alt 29.06.2006, 16:04  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard

is there anybody out here ?
__________________
keine
cytrobic ist offline   Mit Zitat antworten
Alt 29.06.2006, 17:26  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

fast

.. LIKE CONCAT('%', TabelleA.inthis, '%')

Hört sich aber schwer nach lausigem Datenbank-Design an:
http://de.wikipedia.org/wiki/Normali...28Datenbank%29
Zergling-new ist offline   Mit Zitat antworten
Alt 29.06.2006, 17:31  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard

naja db design is selfmade ... bin nicht der pro das dazu
danke für den CONCAT ich werds mal testen

ich will mehreren objekten der einen tabelle mehrere der anderen zuweisen und umgekehrt, das würde ja wieder auf dein n:n format rauslaufen oder gibts da noch alternativen ?
__________________
keine
cytrobic ist offline   Mit Zitat antworten
Alt 29.06.2006, 17:34  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

n:m heißt das

Ja gibt es, eine Verknüpfungs-Tabelle

linkTabelle1Tabelle2
tabelle1_id | tabelle2_id

Jede Verbindung speicherst du jetzt mit jeweiliger ID in dieser Tabelle.
Alle Einträge aus Tabelle2 für Tabelle1_id holst du dann eben mit

Code:
SELECT
  tabelle2.*
FROM
  linkTabelle1Tabelle2
INNER JOIN
    tabelle2
  ON
    linkTabelle1Tabelle2.tabelle2_id = tabelle2.id
WHERE
  linkTabelle1Tabelle2.tabelle1_id = X
ab. Wobei X die ID ist, deren Entsprechungen du möchtest.
Steht aber auch oben hinterm Link zu Normalisierung.
Zergling-new ist offline   Mit Zitat antworten
Alt 29.06.2006, 21:58  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard

naja so isset nu:

PHP-Code:
$qry mysql_query("SELECT docks.name AS dock, cranes.name AS crane FROM docks LEFT JOIN cranes ON (cranes.pos_dock_name LIKE CONCAT('%', docks.idnr ,'%'))"$conn); 
und das bekomm ich raus:
PHP-Code:
Array
(
    [
0] => south
    
[dock] => south
    
[1] => PiT_1
    
[crane] => PiT_1
)
Array
(
    [
0] => south
    
[dock] => south
    
[1] => HansenFlash
    
[crane] => HansenFlash
)
Array
(
    [
0] => east
    
[dock] => east
    
[1] => PiT_2
    
[crane] => PiT_2
)
Array
(
    [
0] => east
    
[dock] => east
    
[1] => HansenFlash
    
[crane] => HansenFlash
)
Array
(
    [
0] => west
    
[dock] => west
    
[1] => PiT_2
    
[crane] => PiT_2

kann man dat irgendwie zusammenfassen nach array[dock] ?
das es für south z.b. nur ein array gibt:


PHP-Code:
Array
(
    [
dock] => south
    
[1] => PiT_1
    
[2] => HansenFlash

oder so ähnlich... ?
__________________
keine
cytrobic ist offline   Mit Zitat antworten
Alt 30.06.2006, 11:55  
Erfahrener Benutzer
 
Registriert seit: 01.02.2004
Beiträge: 550
cytrobic
Standard

ich glaub ich mach jetzt ne n:m ...
__________________
keine
cytrobic ist offline   Mit Zitat antworten
Alt 30.06.2006, 13:27  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von cytrobic
kann man dat irgendwie zusammenfassen nach array[dock] ?
Entweder in dem du im MySQL Statement bereits WHERE dock = 'south' als Restriktion einbaust oder eben per PHP einen neuen Array erzeugen, in dem du das ganze zusammenfasst.
Zergling-new 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
Flexibles Erstellen von Tabellen aus MySQL Anfragen eolith421 PHP-Fortgeschrittene 2 18.04.2008 15:42
PHP Array in MYSQL Tabellen schreiben Matt Datenbanken 1 26.02.2008 19:43
generelle Fragen zu MySql bezüglich der Tabellen woods Datenbanken 7 16.10.2006 13:38
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
Suche MySQL Funktion zum Verbinden 2er Felder R4v3r Datenbanken 2 12.07.2005 23:49
MySQL Daten aus verknüpften Tabellen auslesen ? PHP Tipps 2005-2 2 27.06.2005 03:21
Suchfkt. über mehrere Felder und 2 Tabellen Lia PHP Tipps 2005 14 11.01.2005 16:32
mysql update query mit mehreren Tabellen funktioniert nicht PHP-Fortgeschrittene 5 08.01.2005 16:29
[Erledigt] Suche über 2 Tabellen in MySQL PHP Tipps 2004-2 4 15.12.2004 16:05
Daten Sortieren aus meherern mySQL tabellen PHP Tipps 2004-2 1 12.12.2004 18:22
mySQL Tabellen CHRIS PHP Tipps 2004-2 10 04.12.2004 20:40
Über PHP Script 2 MySQL Tabellen abgleichen PHP Tipps 2004 0 20.09.2004 09:32
alle tabellen in einer mysql db ausgeben PHP Tipps 2004 2 06.09.2004 19:36
[Erledigt] keine tabellen in mysql Datenbanken 0 31.08.2004 11:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/datenbanken/40960-mysql-mehrere-felder-aus-2-tabellen-bei-vorhandensein-eines.html, mysql join mehrere felder, left join mehrere felder, zeige mir alle felder mysql, mysql aus 2 feldern mach 1, php array aus tabellennamen und feldern, mysql value mehrere felder, mysql mehrere felder mit anderer tabelle, mysql concat mit zwei tabellen, mysql 2 felder kombinieren, 2 datensätze kombinieren, mysql felder aus zwei tabellen zusammenführen, mysql left join array, mysql join array 2 tabellen, mysql alle einträge aus zwei tabellen, felder einer tabelle mit feldern einer anderen tabelle zusammenfügen mysql, concat mysql \2 tabellen\, array mysql in eine tabelle zeigen, tabelle deutsche grammatik, mysql datenfelder aus mehreren tabellen auslesen

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