Ho due tabelle.mysql query due tabelle, UNION e clausola where
Mi query come questa:
SELECT * FROM (
Select requester_name,receiver_name from poem_authors_follow_requests as one
UNION
Select requester_name,receiver_name from poem_authors_friend_requests as two
) as u
where (LOWER(requester_name)=LOWER('user1') or LOWER(receiver_name)=LOWER('user1'))
Sto usando UNION perché voglio ottenere valori distinti per ogni utente se un utente esiste nella prima tabella e nel secondo.
Ad esempio:
table1
nameofuser
peter
table2
nameofuser
peter
se Peter è su entrambi i tavolo dovrei ottenere il nome di una sola volta perché esiste su entrambi i tavoli.
Ancora ottengo una riga dalla prima tabella e una seconda dalla tabella numero due. Che c'è?
Qualsiasi aiuto apprezzato.
sono le colonne in entrambe le tabelle dello stesso tempo? Forse in una tabella la colonna è di tipo 'char'e nell'altra è di tipo' varchar' ci potrebbero essere degli spazi .... –
nop sono entrambi lo stesso tipo di campi – stefanosn
Nella tua dichiarazione where, probabilmente vuoi per fare riferimento a "u" prima di ogni campo ... così 'dove (LOWER (u.requester_name) = ...' questo è simile alla risposta che puoi vedere in: http://stackoverflow.com/questions/5452233/ where-statement-after-a-union-in-sql –