2010-07-20 12 views
6

Tengo un par une que lo estoy haciendo. Digo tablename.column para identificar lo que quiero seleccionar en la base de datos ... no quiero seleccionar todas las columnas. Sin embargo, en mi última unión, quiero seleccionar todo para eso. ¿Hay alguna manera de usar un asterisco o algo para la última unión?SQL seleccionar todo por una tabla sólo

La última mesa va a ser dinámico también, así que no se puede codificar en (aunque podría escribirlo de forma dinámica), pero pensé que podría haber una manera más fácil.

SELECT content_name.name, 
      house.listing, 
      street.* 
     FROM content 
INNER JOIN house ON content_name.id=house.id 
LEFT JOIN street ON content_name.id=street.id; 
+0

Lo que tienes debería funcionar en 'MySQL' y por lo que puedo decir' postgresql' también. ¿Puedes elaborar sobre la parte dinámica? –

+0

La pregunta es una pregunta SQL ... Agregué etiquetas postgresql y mysql porque cualquiera de las comunidades podría responderla. Sobre la base de cierta información (que ha iniciado sesión en, qué organización son, qué archivos están trabajando con) ... al editar información de esa información irá a su propia mesa. Cada organización tiene su propia tabla para que puedan tener sus propios datos únicos para ese artículo en particular. Entonces, basado en ciertos criterios, mi php escribirá una consulta en conjunto en función de quién sea. Todo esto funciona bien Solo me preguntaba si había una manera fácil de decir seleccionar * de una sola tabla y no el resto. – Keith

Respuesta

7

Alias ​​su última tabla de la misma manera cada vez, y luego solo. * Su alias.

SELECT content_name.name,house.listing, last_table.* 
FROM content INNER JOIN house ON 
content_name.id=house.id 
LEFT JOIN street last_table ON content_name.id=last_table.id; 

Dicho esto, * en una consulta es la producción de un accidente a punto de ocurrir.

+2

1: Es la parte de la "última mesa va a ser dinámico" que me asusta ... –

+0

dinámico en el sentido controlo en mi php ... nada viene del usuario. – Keith

+0

Keith: Si está separando a cabo los usuarios/clientes en diferentes mesas, consideraría un nombre de tabla común en los diferentes esquemas y luego simplemente configurar su "search_path" dependiendo de donde tienen que mirar. Debería hacer mucho de ese tipo de consultas dinámicas más simples. – rfusca

Cuestiones relacionadas