webForumDet fria alternativet

mysql join

5 svar · 324 visningar · startad av WiZzLeR

WiZzLeRMedlem sedan juni 2002369 inlägg
#1

Jag har en tabell med användare där de har två kolumner som heter first_profession och second_profession.

De innehåller id:n som ska joinas med en annan tabell som heter professions.
Professionstabellen innehåller profession_id (som ska joinas med de två kolumner från användartabellen) och sedan ska jag kunna skriva ut profession_name för first och second.

ex på en join: LEFT JOIN profession ON profession_id = first_profession - men vad händer när jag ska joina två?

Jag jobbar med PHP när jag querar.

@ndersMedlem sedan juni 200026 914 inlägg
#2

Det är bara att joina in profession en gång till.

LEFT JOIN profession ON profession_id = first_profession
LEFT JOIN profession AS profession2 ON profession2.profession_id = second_profession

quera, snyggt verb.

WiZzLeRMedlem sedan juni 2002369 inlägg
#3

nja det fungerade inte direkt.. man kan väl inte göra join tabell AS tabell2 ?

LarsGMedlem sedan dec. 200012 465 inlägg
#4

nja det fungerade inte direkt

Utveckla detta, det är inte speciellt informativt.

man kan väl inte göra join tabell AS tabell2 ?

Jo.

WiZzLeRMedlem sedan juni 2002369 inlägg
#5

såhär ser det ut just nu:

SELECT * FROM fuzz_users 
			LEFT JOIN fuzz_location ON location_id = user_location 
			LEFT JOIN fuzz_ranks ON rank_value = user_admin 
			LEFT JOIN fuzz_profession ON profession_id = user_first_profession

lägger jag in

LEFT JOIN fuzz_profession AS profession2 ON profession2.profession_id = user_second_profession

så får jag
Fatal error: Call to a member function fetch_assoc() on a non-object

WiZzLeRMedlem sedan juni 2002369 inlägg
#6

lösde det på det här viset:

SELECT fp.profession_name AS pname1, fp2.profession_name AS pname2 FROM fuzz_users LEFT JOIN fuzz_profession fp ON fp.profession_id = user_first_profession LEFT JOIN fuzz_profession fp2 ON fp2.profession_id = user_second_profession
Genererad på 384 ms · cache AV · v20260730165559-full.f96bc7eb