php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.03.2010, 19:08  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.037
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard tabellenname Subquery

Hallo,

auf 2 verschiedenen MySql Versionen bekomme ich bei einer subquery völlig unterschiedliche ergebnisse.

einmal liefert mir PHP ein Array mit allen Tabellen welche betroffen sind

$t[ROW]['tabellenname']
$t[ROW]['tabellenname2']
$t[ROW]['tabellenname3']

und einmal liefert es mir den Namen der subquery

$t[ROW]['subquery']

kann ich dieses verhalten beeinflussen?
notyyy ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.03.2010, 19:11  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
auf 2 verschiedenen MySql Versionen
welche?
Zitat:
bekomme ich bei einer subquery
welche?
Zitat:
völlig unterschiedliche ergebnisse.
welche?!
Zitat:
einmal liefert mir PHP ein Arr
Was hat jetzt PHP plötzlich damit zu tun?

Zitat:
$t[ROW]['tabellenname']
Sehr aussagekräftig. Dürfte wohl stark mit Deinem PHP-Code zu tun haben
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 15.03.2010, 19:22  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.037
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

MySql Server nr 1 hat die Version 5.1.39, bei dem 2. Server bin ich mir grade nicht sicher, kann ich morgen früh in erfahrung bringen, sollte jedoch auch ein 5.x sein.


die verkürzte Prozedur:

Code:
SELECT * FROM 
		(
			SELECT
			Page.id AS pid,
			Pageelementcontent.*,
			Pageelement.virtual_id AS vid,
			Pageelement.lang AS lang
			FROM page AS Page
			JOIN .....
			JOIN .....
			JOIN .....
			LEFT JOIN .....		

			WHERE .....
			
			
			ORDER BY Pageelement.lang DESC
		) AS tbl
		GROUP BY tbl.vid, tbl.pid

MySql wird beide male via mysqli völlig identisch (CakePHP) angesprochen.
einmal bekomme ich ein array in diesem Format:

tbl= ( pid, id, headline, ..... )

und einmal bekomme ich alle daran beteiligten tabellen (ohne tbl)

Page = (id, ...)
Pageelementcontent = (...)
Pageelement = (....)

wie kann das sein?
notyyy ist offline   Mit Zitat antworten
Alt 15.03.2010, 19:48  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
und einmal bekomme ich alle daran beteiligten tabellen (ohne tbl)

Page = (id, ...)
Pageelementcontent = (...)
Pageelement = (....)
Was soll das bedeuten? In welchem Format?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 15.03.2010, 19:55  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.037
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

ich spreche vom resultat der query.

auf server nr1 bekomme ich von mysql die besagte array struktur:

array
(
Page = array(id, ...)
Pageelementcontent = array(...)
Pageelement = array(....)
)

auf server nr2 bekomme ich

array
(
tbl = array(....)
)

mir ist völlig unklar, warum so völlig unterschiedlich auf die prozedur reagiert wird.
notyyy ist offline   Mit Zitat antworten
Alt 15.03.2010, 19:58  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Vielleicht ist das zweite ein Debugging einer Fehlerausgabe? Vielleicht ist die DB leer?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 15.03.2010, 20:08  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.037
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

wiegesagt es kommen alle daten an, ich habe eben einen dump eingespielt, alles ist identisch.

php version und mysql server version sind geringfügig unterschiedlich, dennoch ist die Struktur der Daten völlig unterschiedlich.

Retrieving Your Data :: Models :: Developing with CakePHP :: The Manual :: 1.2 Collection :: The Cookbook

Hier wird verdeutlicht, was returnt werden soll, soweit so gut.

wenn man sich meine Query anguckt, ist verständlich warum server2 eine tabelle namens tbl returnt, server 1 ignoriert dies völlig und gibt direkt ein array in der struktur zurück, wo die daten ursprünglich her kommen.
notyyy ist offline   Mit Zitat antworten
Alt 15.03.2010, 20:18  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Zitat:
wenn man sich meine Query anguckt, ist verständlich warum server2 eine tabelle namens tbl returnt,
Eigentlich nicht.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 15.03.2010, 20:21  
Erfahrener Benutzer
 
Registriert seit: 12.05.2005
Beiträge: 1.037
PHP-Kenntnisse:
Fortgeschritten
notyyy befindet sich auf einem aufstrebenden Ast
Standard

Code:
SELECT * FROM 
(
		....
) AS tbl
mir wäre es anders lieber, jedoch bekomme ich derzeit leider nur den inhalt von tbl (worin der Inhalt von Page, Pageelementcontent, pageelement, .... enthalten ist, jedoch nicht die tabellen direkt
notyyy ist offline   Mit Zitat antworten
Alt 15.03.2010, 20:38  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Das ist doch aber ganz normal für eine mysql-Query. * "erbt" die Bezeichner der Subquery, wenn Du nicht explizit Feldnamen aus der Ergbnismenge spezifizierst. Alles andere wird wohl irgendwie Cake verursachen. Im Zweifel einfach mal in phpmyadmin die Query absetzen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch 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
[Erledigt] SQL Subquery Frage daPhantom Datenbanken 2 13.09.2009 12:33
[Erledigt] create table - tabellenname automatisch erzeugen taurus Datenbanken 2 09.08.2009 21:20
SUBQUERY one row - CONCAT_WS stefanjann Datenbanken 4 27.01.2009 16:18
[Erledigt] Subquery returns more than 1 row omaronhtm Datenbanken 12 06.01.2009 20:28
MySQL Tabellenname enthält Umlaut Ö?!?!?!?! HILFE!!!!! foersti666 Datenbanken 3 11.10.2008 12:16
[Erledigt] MySQL Subquery Abfrage Kevz Datenbanken 6 09.05.2008 09:30
Subquery simsalabim Datenbanken 4 15.04.2008 23:16
Tabellenname herausfinden Heinerlutscher Datenbanken 9 27.01.2008 17:49
ORDER BY im Subquery cycap Datenbanken 12 31.10.2007 20:31
UNION in einem Subquery Datenbanken 0 26.10.2005 13:24
subquery Problem Datenbanken 8 18.03.2005 16:49
Subquery kurios..wie gehts richtig? PHP Tipps 2005 4 04.01.2005 20:24
[Erledigt] Select Statement mit exists subquery Datenbanken 5 09.12.2004 10:24
[Erledigt] Tabellenname eines Feldes ermitteln PHP-Fortgeschrittene 3 22.09.2004 15:49
Subquery nötig? Stümper Datenbanken 7 31.08.2004 11:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php subquery, mysql subquery, cakephp subquery, query tabellennamen, php subqueries, left join tbl_ x.feld mysql, subqueries php, sql tabellenname als subquery, subquery benennen, cakephp subquery table name, php subquery tutorial, subquery zwei verschiedene tabellen, tabelle benennen subquery, mysql tabllennamen aus subquery, $row->tabellenname, t-sql from tabelle über subselect, select *, (select mysql, sql unterabfrage benennen, table name as part of subselect, mysql select case like

Alle Zeitangaben in WEZ +1. Es ist jetzt 04:37 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