webForumDet fria alternativet

Joina två tabeller blir knas

Databaser & SQLur Databashanterare & SQL

6 svar · 364 visningar · startad av comedown

comedownMedlem sedan maj 20043 inlägg
#1

Tja

Har två tabeller som ser ut så här:

info
id | namn | kategori | prioritet | text

info_static
id | namn | kategori | prioritet

vill att tabellen som joinas ser ut så här
namn | kategori | prioritet

Har provat med detta:

$sql = "SELECT info.name, info_static.name
from info INNER JOIN info_static
ON info.category = info_static.category
where info.category='1' OR info_static.category='1'";

Skrivet: 2004-05-25 11:28 Ämne: Mysql fråga (join)

--------------------------------------------------------------------------------

Tja

Har två tabeller som ser ut så här:

info
id | namn | kategori | prioritet | text

info_static
id | namn | kategori | prioritet

vill att tabellen som joinas ser ut så här
namn | kategori | prioritet

har skrivit så här:
PHP:

$sql = "SELECT info.name, info_static.name
from info INNER JOIN info_static
ON info.category = info_static.category
where info.category='1' OR info_static.category='1'";

ger resultatet:
name name
---------------
länk1 forum
länk2 forum

Vill att det ska bli så här
name
-------
länk1
länk2
forum

Nån vänlig själ som vet hur man går tillväga

LarsGMedlem sedan dec. 200012 464 inlägg
#2
$sql = "SELECT name
from info 
where category=1 
union SELECT name
from info_static 
where category = 1 ";

Om category är en numerisk kolumn så skall du inte ange ' om värdet.

Flyttas från Mysql

comedownMedlem sedan maj 20043 inlägg
#3

Verkar inte som att man kan använda Union i min MySQL version :(

#1064 - You have an error in your SQL syntax near 'UNION SELECT name
FROM info_static
WHERE category =1 LIMIT 0, 30' at line 4

Har även testat med nästlade select satser men det tog den inte heller...

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Union kom i version 4.0 av Mysql.

comedownMedlem sedan maj 20043 inlägg
#5

Vet du om det går att göra på något annat sätt?
Spånade på om man kunde göra nått åt det här hållet
SELECT info.name OR info_static.name FROM
info, info_static WHERE info.category =1 OR info_static.category=1

UweMedlem sedan nov. 2003181 inlägg
#6

Har du testat med:

$sql = "SELECT info.name, info_static.name
FROM info, info_static
WHERE info.id=info_static.id
AND info.category=1 
OR info_static.category=1

/Uwe

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Det går att simulera union. Jag har sett någon artikel. Du kan ju söka på google med

simulate union mysql

t.ex.

132 ms totalt · 3 externa anrop · v20260731065814-full.c74b5be1
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)