Wie ktoś, albo ma jakiś pomyśł jak znaleźć w kolumnie wartość zawierającą przynajmniej 2 słowa z tablicy string? Bo mogę znaleźć po jednym słowie : SELECT answer FROM answers WHERE answer LIKE '%+keyword.get(0)+%'" ale wtedy szuka tylko pierwszego słowa z tablicy. Jak dam to do for each to też wywala zdania z jednym słowem.
Sorry, że tutaj wpisuje kawałek kodu a nie w paste bin. #java #sql #sqlite
@MrFisherman: czy chodzi o to że w kolumnie masz np: "ala ma kota, milicjant ma pałę" i w tablicy (raczej jest to lista) masz słowa pod indexem 0 "ala" pod np 1 "milicjant" i w tym wypadku ma zwrócić ten rekord ?
@hesar: niestety nie mogę tak zrobić bo tych słów nie znam, wiem że są zawarte w liście np. kota, ala, słoń, , krzesło i ma znaleźć rekord gdzie jest np. Ala ma kota czyli przynajmniej 2 z listy
@MrFisherman: ja to widziałbym tak i byłoby to proste. Rozwiązanie dla dwóch elementów w liście: SELECT kolumna1, COUNT(1) FROM ( SELECT * FROM TABELA WHERE ans LIKE '%SŁOWO1%'
UNION ALL(!)
SELECT * FROM TABELA WHERE ans LIKE '%SŁOWO2' ) AS g GROUP BY kolumna1 HAVING COUNT(1) > 1
Bo mogę znaleźć po jednym słowie : SELECT answer FROM answers WHERE answer LIKE '%+keyword.get(0)+%'" ale wtedy szuka tylko pierwszego słowa z tablicy. Jak dam to do for each to też wywala zdania z jednym słowem.
Sorry, że tutaj wpisuje kawałek kodu a nie w paste bin.
#java #sql #sqlite
and answer LIKE ' '
Komentarz usunięty przez autora
coś jak w tym guście
http://stackoverflow.com/questions/11397757/sql-count-group-by-bigger-than
SELECT kolumna1, COUNT(1)
FROM
(
SELECT *
FROM TABELA
WHERE ans LIKE '%SŁOWO1%'
UNION ALL(!)
SELECT *
FROM TABELA
WHERE ans LIKE '%SŁOWO2'
) AS g
GROUP BY kolumna1
HAVING COUNT(1) > 1