Semblé simple quand j'ai commencé et l'ai fait avant, maintenant je me suis confondu et à un barrage routier.SQL est-ce externe et interne rejoindre et comment rejoindre sur Array
Avoir deux tables: News_Table et un People_Table. Sous le News_Table il y a un champ: News_People_Contributed et il a les ID du People_Table dans le format de tableau (1,4,7,10) ainsi quatre personnes ont contribué. Je crée un paramètre de recherche qui recherche News_Header AND News_People_Contributed et ne peut pas comprendre comment créer la colonne de recherche.
News_Table
News_ID
News_Header
News_People_Contributed
People_Table
People_ID
People_First_Name...
Est-il quelque chose comme ...
Select*
From News_Table
Left Join News_Table
On People_Table.People_ID IN (News_Table.News_People_Contributed)
Where Search_Param Like '%News_Header%' OR Search_Param Like '%People_First_Name%'
Le problème est (News_Table.News_People_Contributed) est une chaîne et les ID ne sont pas. De plus, je n'ai peut-être pas de contributeurs, etc. Pour rendre le problème encore plus complexe, je le fais dans MS Access au lieu de MySql, donc je dois le coder "old school" pour travailler.
News_People_Contributed a ID comme une chaîne, pas de champ multi-valeur? Ne voyez pas comment vous auriez pu faire cette requête auparavant si le champ est une chaîne. Stocker en tant que chaîne est un très mauvais design. – June7
c'était un menu multi-sélection pour le rendre facile. Sinon, je dois créer une troisième table reliant les deux autres tables - fait cela avant deux heures. J'aime utiliser des tableaux parce que c'est plus propre et plus facile à faire pour les boucles sur d'autres objets. Peut toujours diviser la chaîne aussi pour appeler tableau. – Brewy
Ceci est une mauvaise structure de la table. Vous devriez avoir une troisième table joignant les deux. Ensuite, créez une requête sur les trois tables et recherchez-la. Vous mentionnez mysql, Qu'est-ce que cela a à voir avec quoi que ce soit? – AVG