I need to extract 30 nodes wich (among others criteria):

has a particular taxonomy term (as a filter) OR
belongs to a particular nodequeue (as a not-required relationship)
Nodeque gives editors the opportunity to identify first N nodes in the desired order. When theese N nodes are less than 30 (total numberof nodes the views retrieve) other nodes follow in published date order.

That's OK, it works, but not when a node is present in another taxonomy subqueue. In this case the node is duplicated (becouse the position is (usually) differente in the two subqueues).
I even try using contextual filter "Nodequeue: Subqueue ID" and " Nodequeue: Subqueue reference" but it doesn't work becouse I get only the N nodes in the nodequeue.

The limit is you can't use a specific subqueue as a views relationship. Only parent queue is available.

This is the actual query:
SELECT DISTINCT node.nid AS nid
, node.title AS node_title
, users_node.uid AS users_node_uid
, node.uid AS node_uid
, node.created AS node_created
, nodequeue_nodes_node.position AS nodequeue_nodes_node_position
, 'node' AS field_data_taxonomy_vocabulary_3_node_entity_type
, 'node' AS field_data_field_occhiello_node_entity_type
, 'user' AS field_data_field_nome_e_cognome_autore_user_entity_type
, 'node' AS field_data_field_immagini_node_entity_type
, 'node' AS field_data_taxonomy_vocabulary_13_node_entity_type
, 'node' AS field_data_field_sezione_di_appartenenza_node_entity_type
, 'node' AS field_data_body_node_entity_type
FROM
node
LEFT JOIN users as users_node ON node.uid = users_node.uid
LEFT JOIN nodequeue_nodes as nodequeue_nodes_node ON node.nid = nodequeue_nodes_node.nid AND nodequeue_nodes_node.qid = '15'
LEFT JOIN field_data_field_sezione_di_appartenenza as field_data_field_sezione_di_appartenenza_value_0 ON node.nid = field_data_field_sezione_di_appartenenza_value_0.entity_id AND field_data_field_sezione_di_appartenenza_value_0.field_sezione_di_appartenenza_tid = '25685'
WHERE (( (node.status = '1') AND (node.type IN ('dossier_post', 'materiale_post', 'rubrica_post')) )AND(( (field_data_field_sezione_di_appartenenza_value_0.field_sezione_di_appartenenza_tid = '25685') )OR (nodequeue_nodes_node.nid != '0') ))
ORDER BY nodequeue_nodes_node_position DESC, node_created DESC

Do you have any solution to suggest?

Comments

realgiucas created an issue.