Views warning: Ambiguous query
| Project: | Flexifield |
| Version: | 6.x-1.x-dev |
| Component: | Code |
| Category: | bug report |
| Priority: | critical |
| Assigned: | Unassigned |
| Status: | active |
Jump to:
I cant get views to work.
i want to show a subfield of a flexfield in a view.
I have a working view from a contenttype, i can show the full flexifield data, but when i want a subfield than it gows wrong.
MO for the subfield: post 12 here http://drupal.org/node/300668
error
* user warning: Column 'nid' in field list is ambiguous query: SELECT COUNT(*) FROM (SELECT nid FROM drupal_ge24_node node LEFT JOIN drupal_ge24_content_field_lesgeg node_data_field_lesgeg ON node.vid = node_data_field_lesgeg.vid LEFT JOIN drupal_ge24_flexifield_items flexifield_items_node_data_field_lesgeg ON node_data_field_lesgeg.field_lesgeg_item_id = flexifield_items_node_data_field_lesgeg.item_id LEFT JOIN drupal_ge24_uc_products uc_products ON node.vid = uc_products.vid LEFT JOIN drupal_ge24_content_type_les_moment flexifield_items_node_data_field_lesgeg_node_data_field_lesdag ON flexifield_items_node_data_field_lesgeg.item_id = flexifield_items_node_data_field_lesgeg_node_data_field_lesdag.vid WHERE (node.status <> 0) AND (node.type IN ('product','cursus','product_kit')) ) count_alias in /www/_shares/_revaki/WWW/drupal_multi/sites/all/modules/views/includes/view.inc on line 729.
* user warning: Column 'nid' in field list is ambiguous query: SELECT nid, node.type AS node_type, node.title AS node_title, uc_products.sell_price AS uc_products_sell_price, node.vid AS node_vid, flexifield_items_node_data_field_lesgeg_node_data_field_lesdag.field_lesdag_value2 AS flexifield_items_node_data_field_lesgeg_node_data_field_lesdag_field_lesdag_value2, flexifield_items_node_data_field_lesgeg_node_data_field_lesdag.field_lesdag_value AS flexifield_items_node_data_field_lesgeg_node_data_field_lesdag_field_lesdag_value, type, vid FROM drupal_ge24_node node LEFT JOIN drupal_ge24_content_field_lesgeg node_data_field_lesgeg ON node.vid = node_data_field_lesgeg.vid LEFT JOIN drupal_ge24_flexifield_items flexifield_items_node_data_field_lesgeg ON node_data_field_lesgeg.field_lesgeg_item_id = flexifield_items_node_data_field_lesgeg.item_id LEFT JOIN drupal_ge24_uc_products uc_products ON node.vid = uc_products.vid LEFT JOIN drupal_ge24_content_type_les_moment flexifield_items_node_data_field_lesgeg_node_data_field_lesdag ON flexifield_items_node_data_field_lesgeg.item_id = flexifield_items_node_data_field_lesgeg_node_data_field_lesdag.vid WHERE (node.status <> 0) AND (node.type IN ('product','cursus','product_kit')) ORDER BY node_title ASC LIMIT 0, 10 in /www/_shares/_revaki/WWW/drupal_multi/sites/all/modules/views/includes/view.inc on line 755.
when more info is needed.i ll be happy to provide it.
Its quite urgent.
kind regards,

#1
I'm also experiencing this issue, trying to get a multi-valued field from a flexigroup...
#2
Am i correct to assume that all the other users of flexifield . Who use it on production sites dont use views?
And therefore dont have the vieuws problem?
May by i m doing something silly stupid wrong.
Site goes online in 4 days i need to get vieuws of sub flexifield.
Any push in the right direction would be appriciated.
kind regards,
#3
I'm getting the same issue. It doesn't do it when the relationship is not added - so if I add the flexifield to the view it will display it as default ok. But if I want to individually add parts of the subfields by having a relationship through flexifield, then I get ambiguous query error.
It seems that whatever fields are appended to the view (I have type, nid, vid?) are not prepended with the table name as would be necessary. So the query is
SELECT nid, type, <tablename>.<someother query>..... FROM ...... WHERE ......Hope this helps....
#4
The nid is indeed the problem, i did exact the same query on directly on db
the normal view of a compleet flexifield query:
SELECT node.nid AS nid,
node.type AS node_type,
node.vid AS node_vid,
node_data_field_bedrijfslogo.field_bedrijfslogo_imceimage_path AS node_data_field_bedrijfslogo_field_bedrijfslogo_imceimage_path,
node_data_field_bedrijfslogo.field_bedrijfslogo_imceimage_width AS node_data_field_bedrijfslogo_field_bedrijfslogo_imceimage_width,
node_data_field_bedrijfslogo.field_bedrijfslogo_imceimage_height AS node_data_field_bedrijfslogo_field_bedrijfslogo_imceimage_height,
node_data_field_bedrijfslogo.field_bedrijfslogo_imceimage_alt AS node_data_field_bedrijfslogo_field_bedrijfslogo_imceimage_alt
FROM drupal_ge24_node node
LEFT JOIN drupal_ge24_content_field_bedrijf node_data_field_bedrijf ON node.vid = node_data_field_bedrijf.vid
INNER JOIN drupal_ge24_flexifield_items flexifield_items_node_data_field_bedrijf ON node_data_field_bedrijf.field_bedrijf_item_id = flexifield_items_node_data_field_bedrijf.item_id
LEFT JOIN drupal_ge24_content_type_class_rechtspersoon_contactgeg node_data_field_bedrijfslogo ON node.vid = node_data_field_bedrijfslogo.vid
WHERE node.type in ('sponsor')
The problem query:
SELECT nid,
flexifield_items_node_data_field_bedrijf_node_data_field_bedrijfslogo.field_bedrijfslogo_imceimage_path AS flexifield_items_node_data_field_bedrijf_node_data_field_bedrijfslogo_field_bedrijfslogo_imceimage_path,
flexifield_items_node_data_field_bedrijf_node_data_field_bedrijfslogo.field_bedrijfslogo_imceimage_width AS flexifield_items_node_data_field_bedrijf_node_data_field_bedrijfslogo_field_bedrijfslogo_imceimage_width,
flexifield_items_node_data_field_bedrijf_node_data_field_bedrijfslogo.field_bedrijfslogo_imceimage_height AS flexifield_items_node_data_field_bedrijf_node_data_field_bedrijfslogo_field_bedrijfslogo_imceimage_height,
flexifield_items_node_data_field_bedrijf_node_data_field_bedrijfslogo.field_bedrijfslogo_imceimage_alt AS flexifield_items_node_data_field_bedrijf_node_data_field_bedrijfslogo_field_bedrijfslogo_imceimage_alt,
type,
vid
FROM drupal_ge24_node node
LEFT JOIN drupal_ge24_content_field_bedrijf node_data_field_bedrijf ON node.vid = node_data_field_bedrijf.vid
LEFT JOIN drupal_ge24_flexifield_items flexifield_items_node_data_field_bedrijf ON node_data_field_bedrijf.field_bedrijf_item_id = flexifield_items_node_data_field_bedrijf.item_id
LEFT JOIN drupal_ge24_content_type_class_rechtspersoon_contactgeg flexifield_items_node_data_field_bedrijf_node_data_field_bedrijfslogo ON flexifield_items_node_data_field_bedrijf.item_id = flexifield_items_node_data_field_bedrijf_node_data_field_bedrijfslogo.vid
WHERE node.type in ('sponsor')
When we change he first line of the problem query to
node.nid AS nid,
then we get sql error Column 'vid' in field list is ambiguous
same princable change vid to
node.vid AS vid,
then the query works and we get results that look right in db therms.
NOW how do we make Flexifield do this in drupal?? can anyone help pleas, you all should have the smae problem when you want to sort the querys on flexifield internal fields.
thx in advance
#5
I have the same issue.
Fields are outputted empty.
With Relationships activated I get the "user warning: Column 'nid' in field (...)" error.