Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Inner Join.. Kan inte. Behöver hjälp

Postades av 2007-05-03 11:50:55 - Linus Enbom, i forum mysq, Tråden har 11 Kommentarer och lästs av 1240 personer

Jag skulle behöva använda mig av inner join.
Problemet är att jag kan inte och har försökt läsa till mig det men förstår det inte riktigt.

Sidan ska Hämtas så här:

table1.headline table1.headline2 table1.headline3
table2.subheadline
table3.text1 table3.text2 table3.text3

where page_id = 1

table1.headline är vilken huvud rubrik
table1.headline2 är vilken över rubrik på tabellen
table1.headline3 är vilken den andra överrubriken är
table2.subheadline är vilka under rubriker till huvud rubriken
table3.text1 är namnet på raden
table3.text2 info1
table3.text3 info2

Någon som förstår hur jag tänker?


Svara

Sv: Inner Join.. Kan inte. Behöver hjälp

Postades av 2007-05-03 12:41:27 - Andreas Hillqvist

Hur länkar du tabellerna samman mellan table1 och table2 och mellan table2 och table3?
Vilka fält har du för det?


Svara

Sv:Inner Join.. Kan inte. Behöver hjälp

Postades av 2007-05-03 13:59:09 - Linus Enbom

table1 har id
table2 har id, table1_id
table3 har id, table2_id

*EDIT*
Så alla är har id om den andra


Svara

Sv: Inner Join.. Kan inte. Behöver hjälp

Postades av 2007-05-03 14:52:25 - Linus Enbom

Kan detta vara något?
Vet inte om jag ska använda LEFT JOIN eller INNER JOIN.
Vet inte vad skillnaden är :(

SQL = "SELECT price_head.*, price_sub_head.*, price_info.*" & vbCrLf &
             "FROM price_head" & vbCrLf &
             "INNER JOIN price_sub_head" & vbCrLf &
             "ON price_head.id = price_sub_head.price_id" & vbCrLf &
             "INNER JOIN price_info" & vbCrLf &
             "ON price_sub_head = price_info.price_head" & vbCrLf &


Jag vill då att det ska komma ut så här:
<loop>
price_head.name price_head.high price_head.low
<loop>
price_sub_head.name
<loop>
price_info.name price_info.price_high price_info.price_low
</loop>
</loop>
</loop>


Svara

Sv:Inner Join.. Kan inte. Behöver hjälp

Postades av 2007-05-03 18:53:36 - Andreas Hillqvist

Om du vill loopa ut det så kan du titta på datashape providern för att få ett hirarkiskt recordset. Du kan emulera looparna genom att kontrolera om det är samma värde som tidigare i gruppernas id.

SQL frågan bör i Access se ut något sådan:

SELECT price_head.*, price_sub_head.*, price_info.*
FROM (price_head INNER JOIN 
    price_sub_head ON price_head.id = price_sub_head.price_id) INNER JOIN 
    price_info ON price_sub_head = price_info.price_head


Access kräver att du nästlar joins inom paranteser om det finns fler än en, så access vet i vilken rdning den skall utföra dem. Detta behövs ofta inte i andra databasmotorer, utan är access specifikt.


Svara

Sv: Inner Join.. Kan inte. Behöver hjälp

Postades av 2007-05-03 20:08:33 - Linus Enbom

Men om jag vill ha in en: WHERE price_head.page_id = 1

Är det bara att sätta in den i slutet då?


Svara

Sv:Inner Join.. Kan inte. Behöver hjälp

Postades av 2007-05-03 20:16:46 - Linus Enbom

Sen undrar jag hur jag skriver ut den så att jag får det så :D


Svara

Sv: Inner Join.. Kan inte. Behöver hjälp

Postades av 2007-05-03 23:14:52 - Linus Enbom

Vet inte om detta kan vara rätt:

<table width="100%" border="0" cellpadding="3" cellspacing="0">
	<?php
	$objConn = mysql_connect(MYSQLHOST,MYSQLUSER,MYSQLPASS);
	if (!$objConn) {
	   die('<br /><br /><b>Could not connect to server:</b><br />' . mysql_error());
	}
	mysql_select_db(MYSQLDB) or die('<br /><br /><b>Could not connect to database:</b><br />' . mysql_error());
	$SQL = "SELECT price_head.*, price_sub_head.*, price_info.* " & vbCrLf &
	      "FROM (price_head INNER JOIN " & vbCrLf &
	      "price_sub_head ON price_head.id = price_sub_head.price_id) INNER JOIN " & vbCrLf &
	      "price_info ON price_sub_head = price_info.price_head " & vbCrLf &
	      "WHERE price_head.page_id = 1"
	$query = mysql_query($SQL);
	while($txt = mysql_fetch_array($query))
	{
	?>
	<tr>
		<td width="42%"><b><?php print $txt['price_head.price_head']; ?></b></td>
		<td width="24%" align="right">&nbsp;</td>
		<td width="17%" align="right"><b><?php print $txt['price_head.price_low']; ?></b></td>
		<td width="17%"><b><?php print $txt['price_head.price_high']; ?></b></td>
	</tr>
	<tr>
		<td><?php print $txt['price_sub_head.price_sub_head']; ?></td>
		<td align="right">&nbsp;</td>
		<td align="right">&nbsp;</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td>&nbsp;</td>
		<td align="right"><?php print $txt['price_info.price_name']; ?></td>
		<td align="right"><b><?php print $txt['price_info.price_low']; ?></td>
		<td><?php print $txt['price_info.price_high']; ?></td>
	</tr>
<?php
}
mysql_close($objConn);
?>
</table>


<b>* EDIT *</b>
Fick detta felmeddelande:<code>
Parse error: parse error, unexpected T_VARIABLE in C:\www\bcb\page\price_test.php on line 47
</code>

<b>* EDIT2 *</b>
Koden är längre än det som är utskrivet men detta är den enda PHP koden i den sidan.


Svara

Sv:Inner Join.. Kan inte. Behöver hjälp

Postades av 2007-05-04 07:36:11 - Linus Enbom

Jag har ändrat SQL stäringen till en enda rad:

$SQL = "SELECT price_head.*, price_sub_head.*, price_info.* FROM (price_head INNER JOIN " price_sub_head ON price_head.id = price_sub_head.price_id) INNER JOIN price_info ON price_sub_head = price_info.price_head WHERE price_head.page_id = 1";


Får då detta fel på den raden:
<code>Parse error: parse error, unexpected T_STRING in C:\www\bcb\page\price_test.php on line 39</code>


Svara

Sv: Inner Join.. Kan inte. Behöver hjälp

Postades av 2007-05-04 08:17:21 - Linus Enbom

Har lyckats komma en bit på vägen och utvecklat mina felmeddelanden ;)

<table width="100%" border="0" cellpadding="3" cellspacing="0">
	<?php
	$objConn = mysql_connect(MYSQLHOST,MYSQLUSER,MYSQLPASS);
	if (!$objConn) {
	   die('<br /><br /><b>Could not connect to server:</b><br />' . mysql_error());
	}
	mysql_select_db(MYSQLDB) or die('<br /><br /><b>Could not connect to database:</b><br />' . mysql_error());

	$SQL = "SELECT price_head.*, price_sub_head.*, price_info.* FROM (price_head INNER JOIN price_sub_head ON price_head.id = price_sub_head.price_id) INNER JOIN price_info ON price_sub_head = price_info.price_head WHERE price_head.page_id = 1";

	$query = mysql_query($SQL);
	while($txt = mysql_fetch_array($query))
	{
	?>
	<tr>
		<td width="42%"><b><?php print $txt['price_head.price_head']; ?></b></td>
		<td width="24%" align="right">&nbsp;</td>
		<td width="17%" align="right"><b><?php print $txt['price_head.price_low']; ?></b></td>
		<td width="17%"><b><?php print $txt['price_head.price_high']; ?></b></td>
	</tr>
	<tr>
		<td><?php print $txt['price_sub_head.price_sub_head']; ?></td>
		<td align="right">&nbsp;</td>
		<td align="right">&nbsp;</td>
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td>&nbsp;</td>
		<td align="right"><?php print $txt['price_info.price_name']; ?></td>
		<td align="right"><b><?php print $txt['price_info.price_low']; ?></td>
		<td><?php print $txt['price_info.price_high']; ?></td>
	</tr>
	<?php
	}
	mysql_close($objConn);
	?>
</table>


Felmeddelande:<code>
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\www\bcb\page\price_test.php on line 42</code>

Rad 42 är:
while($txt = mysql_fetch_array($query))


Svara

Sv:Inner Join.. Kan inte. Behöver hjälp

Postades av 2007-05-04 13:41:25 - Linus Enbom

Flyttar denna tråd till PHP forumet.


Svara

Sv:Inner Join.. Kan inte. Behöver hjälp

Postades av 2007-05-06 23:42:02 - Per Persson

Skriv

$query = mysql_query($SQL) or die(mysql_error() . '<br>' . $SQL);

för att få bättre felmeddelande om vad i SQL-satsen som ställer till problem.


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 762
27 959
271 761
417
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies