Tengo 2 tablas. Una es una mesa con cosas que se pueden aprender. Hay un JID que describe cada tipo de fila, y es único para cada fila. La segunda tabla es un registro de las cosas que se han aprendido (el JID) y también el ID de usuario de la persona que lo aprendió. Actualmente estoy usando esto para seleccionar todos los datos para el JID, pero solo los que el usuario ha aprendido en función del ID de usuario.Seleccione * de la tabla 1 que no existe en la tabla 2 con condicional
SELECT *
FROM tablelist1
LEFT JOIN tablelog2 ON (tablelist1.JID = tablelog2.JID)
AND tablelog2.UID = 'php var'
WHERE tablelog2.JID IS NOT NULL
Ahora necesito seleccionar las filas de cosas para aprender, pero solo las cosas que el ID de usuario NO ha aprendido. Obviamente soy muy nuevo en esto, tengan paciencia conmigo. :) Intenté usar IS NULL, pero aunque parece funcionar, da como resultado que el JID duplicado sea NULL, siendo uno correcto.
¿Es posible hacer w/o el uso de subconsultas? las subconsultas son muy lentas, y la tabla 2 tendrá MUCHAS filas. De la misma manera que usé una unión en cambio inicialmente. – user192738
Left Join funcionó perfecto. Gracias por el FYI. No sabía que NOT IN era igual, ¡aunque parece que la selección extra lo desaceleraría! – user192738