twee tabellen met gelijke veldnaam

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior Java developer met ondernemend karakter

Vacature Omschrijving Je komt te werken in een jong en creatief team waarin je écht onderdeel bent van de ontwikkelingen binnen de organisatie. Korte lijnen, weinig bureaucratie en een informele werksfeer. Iemand met een ondernemend karakter zal zich snel thuis voelen. Daarnaast bieden we een marktconform salaris, een gezamenlijke lunch én een 2-wekelijkse stoelmassage. Functieomschrijving Je ontwikkelt mee aan een uniek software platform vol componenten waarmee consultants (en klanten) zowel SaaS- als Enterprise oplossingen creëren op het gebied van ‘Kwaliteit & Veiligheid’, ‘Privacy & Informatiebeveiliging’ en ‘Governance, Risk & Compliance’. Vanuit een overtuigende passie voor het digitaal transformeren van werkprocessen

Bekijk vacature »

Dirk Huizinga

Dirk Huizinga

30/01/2019 23:37:04
Quote Anchor link
Hoi allemaal,

ik wil met behulp van een INNER JOIN waarden halen uit twee tabellen in de database.
Dit lukt wel maar ik zit met een probleem dat beide tabellen een veld hebben met een gelijke naam... I know, het is niet handig. Maar is er een mogelijkheid om toch de waarden uit te lezen.

my sql ziet er als volgt uit:

$sqlUitlezen = mysqli_query($connection, "SELECT DISTINCT * FROM `ou` INNER JOIN `person` ON `ou`.`Z_REFERENCE_MX_MANAGER`=`person`.`MSKEYVALUE_MEDEWERKER` WHERE Z_ORG_LEVEL=2 ORDER BY `MSKEYVALUE_OU` ASC");

echo ' <td>'.$sqlData['DISPLAYNAME'].'</td>'; uit tabel `person`
echo ' <td>'.$sqlData['DISPLAYNAME'].'</td>'; uit tabel `ou`

ik zou hier enorm mee geholpen zijn...
en alvast enorm bedankt voor het meedenken, kanjers
 
PHP hulp

PHP hulp

20/08/2019 21:36:55
 
Thomas van den Heuvel

Thomas van den Heuvel

31/01/2019 00:07:11
Quote Anchor link
Euh? Je haalt * op, maar gebruikt enkel DISPLAYNAME?

Kun je niet gewoon aliasen gebruiken voor beide tabellen, dus zoiets als

SELECT ou.DISPLAYNAME AS DN_FROM_OU, person.DISPLAYNAME AS DN_FROM_PERSON
?

Oftewel, je kunt kolommen met dezelfde naam op tabel scheiden en dan met het AS-keyword een andere naam geven.

Hiertoe dien je wel specifiek te zijn in welke kolommen je wilt ophalen, maar dat is sowieso een goede gewoonte. Dus in plaats van * haal je bovengenoemde aliasen op, en wat je verder nog nodig hebt.
 
Dirk Huizinga

Dirk Huizinga

31/01/2019 05:15:43
Quote Anchor link
Hoi Guys,

het lukt mij toch niet om een alias in de INNER JOIN op te nemen.

Hieronder mijn function waarbij het speelt:

//---------------------- begin functie
function divisies (){
global $connection;

$sqlUitlezen = mysqli_query($connection, "SELECT DISTINCT * FROM `ou` INNER JOIN `person` ON `ou`.`Z_REFERENCE_MX_MANAGER`=`person`.`MSKEYVALUE_MEDEWERKER` WHERE Z_ORG_LEVEL=2 ORDER BY `MSKEYVALUE_OU` ASC");
$sqlAantal = mysqli_num_rows($sqlUitlezen);

echo '<h3>Aantal OU'."'s".' in IDM ('.$sqlAantal.')</h3>';
if ($sqlAantal > 0){
echo '<article>';
echo '<table id="customers">';

echo ' <tr>';
echo ' <th>OU code</th>';
echo ' <th>Divisie</th>';
echo ' <th>Mngr referentie</th>';
echo ' </tr>';

while ($sqlData = mysqli_fetch_assoc($sqlUitlezen)){

echo ' <tr>';
echo ' <td><a href="?actie=divisie&ou='.str_replace(' ','+',$sqlData['MSKEYVALUE_OU']).'">'.$sqlData['MSKEYVALUE_OU'].'</a></td>';
echo ' <td>'.$sqlData['DISPLAYNAME'].'</td>';
echo ' <td>'.$sqlData['DISPLAYNAME'].'</td>';
echo ' </tr>';
}
echo '</table>';
echo '</article>';
}else{
echo 'Sorry, ik geen OU'."'s".' kunnen vinden!';
}
}
//---------------------- eindefunctie

is er een expert in da house die me hiermee op weg kan helpen...
thank you guys

Toevoeging op 31/01/2019 19:53:09:

Zelf kom ik zo ver:

$sqlUitlezen = mysqli_query($connection, "SELECT DISTINCT `ou`.`MSKEYVALUE_OU`, `ou`.`DISPLAYNAME` AS `DN_FROM_OU`, `ou`.`Z_REFERENCE_MX_MANAGER` FROM `ou` INNER JOIN `person` ON `ou`.`Z_REFERENCE_MX_MANAGER`=`person`.`MSKEYVALUE_MEDEWERKER` WHERE Z_ORG_LEVEL=2 ORDER BY `MSKEYVALUE_OU` ASC");


een alias vanuit de tabel OU lukt me.. maar deze sql werkt niet en levert de fout op om dat de DISPLAYNAME ook in tabel PERSON voorkomt. Leek eenvoudig (en zal het ook wel zijn ben ik bang) maar pieker me suf ...
Gewijzigd op 31/01/2019 19:37:44 door Dirk Huizinga
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.