ayuda al SQL datos de todos los seguidores? (Como Twitter si seguimos)
Pregunta
ejemplo si tengo
follow table
company one ( cid = 1 ) following two ( cid = 2 )
company one ( cid = 1 ) following three( cid = 3 )
feeds table
company one ( cid = 1 ) type 'product' description 'hello ive updated a product';
company two ( cid = 2 ) type 'product' description 'hello ive updated a product im from company 2';
company three ( cid = 3 ) type 'shoutout' description 'hello ive i got a shoutout im company 3';
company one ( cid = 1 ) type 'product' description 'hello ive updated my second product';
pregunta ??p>
¿Cómo puedo obtener toda la feeds.description de la compañía que mi empresa (ejemplo de ello es cid = 1)?
Heres mi sencilla sql pdo para obtener sólo la mía.
$data['feeds']['cid'] = 1;
return $this->db->fetchAll("SELECT feeds.type, feeds.$type, feeds.cid, feeds.time, companies.name FROM feeds, companies WHERE
feeds.cid = :cid AND companies.cid = :cid ORDER BY feeds.fid DESC LIMIT 0, 5", $data['feeds']);
this will display
hello ive updated a product
hello ive updated my second product
tal vez algo como esto? (Fallo)
$data['feeds']['cid'] = 1,2,3;
return $this->db->fetchAll("SELECT feeds.type, feeds.$type, feeds.cid, feeds.time, companies.name FROM feeds, companies WHERE
feeds.cid = :cid AND companies.cid = :cid ORDER BY feeds.fid DESC LIMIT 0, 5", $data['feeds']);
this should be displaying like
hello ive updated a product
hello ive updated a product im from company 2
hello ive i got a shoutout im company 3
hello ive updated my second product
o simple feeds.description obtener de cada follow.following (cid = 1,2,3, etc) de mí. (Cid = 1) o si Twitter Consigue todo mi estado de amigos (amigos que sigo)
editar *
algunos buenos chicos de MySQL IRC dice que su uso se une. pero simplemente no lo consigue. lo que se ve es este
fetch all the follow.following from cid = me ( example cid = 1 )
entonces
SELECT * FROM feeds WHERE feeds.cid = IN (2,3,cid that im following ( see follow.following ))
alguien me puede dar un ejemplo para las combinaciones de este problema?
Solución
Así que, suponiendo que la pregunta es "¿Cómo puedo obtener toda la feeds.description de la compañía que mi empresa está siguiendo?" quiere unirse mediante la siguiente clave:
select
companies.name,
feeds.type,
feeds.description
from follow
inner join feeds on (follow.following = feeds.cid or follow.cid = feeds.cid)
inner join companies on (feeds.cid = companies.cid)
where follow.cid = :cid
order by feeds.fid desc
limit 5;
Esto debe enumerar todas las empresas que a su:. Cid (1) está siguiendo
EDIT:. Feeds debe incluir alimentos + de mi empresa alimenta mi empresa está siguiendo