2009-10-12 7 views
3

J'ai deux tables avec des colonnes:comment faire une sélection sur des valeurs telles que de multiples colonnes sql

Genres 
    ID 
    genre 

et

Adjectives 
    ID 
    adjective_title 

je dois faire une sélection qui renvoie les valeurs correspondantes de deux colonnes de tables avec la syntaxe like.

Par exemple, si ep a été la valeur saisie en utilisant like les résultats ressemblerait à ceci:

result_column: 
-------------- 
epiphonic -- (from genres table) 
epic  -- (from adjectives table) 

etc. . .

Je suis assez sûr que j'ai besoin d'utiliser une sous-requête pour retourner les résultats.

Répondre

8

essayer cette

SELECT genre AS result 
FROM genres 
WHERE genre LIKE '%ep%' 
UNION 
SELECT adjective_title AS result 
FROM 
    adjectives 
WHERE adjective_title LIKE '%ep%' 

Le syndicat éliminera les doublons dans chaque utilisation de requête UNION ALL pour chacun.

+0

C'est génial! Merci! – Atma

0

Vous pouvez le faire sans sous-requêtes, mais il ne sera pas rapide sur de grandes tables, en utilisant concat pour construire la chaîne que vous utilisez l'opérateur comme sur:

select g.ID, g.genre, a.adjective_title from Genres g, Adjectives a where 
concat(g.genre, a.adjective_title) like '%epic%' 
+0

Concat ne fonctionne pas en dessous de Sql Server 2012. –

Questions connexes