Hi, I don't have much time to reproduce your set up, but please consult these two videos and I'm sure that you'll be able to solve your problem and find answer: https://www.youtube.com/watch?v=-hunumayu2o https://www.youtube.com/watch?v=lofFvzxDXNU
pet, 25. tra 2025. u 10:36 Kosza Antal <kosza.an...@gmail.com> napisao je: > The settings are fine, the values work correctly in a dropdown list, what > doesn't work is the filtering based on the value selected in the previous > field. > It's as if current_value() doesn't return a value. > > > Vedran Stojnović <phid...@gmail.com> ezt írta (időpont: 2025. ápr. 25., > P, 8:43): > >> Did you set up relational widgets properly? >> >> There is a good tutorial in the official docs: >> >> https://docs.qgis.org/3.40/en/docs/user_manual/working_with_vector/joins_relations.html#many-to-many-n-m-relations >> >> čet, 24. tra 2025. u 22:05 Kosza Antal via QGIS-User < >> qgis-user@lists.osgeo.org> napisao je: >> >>> >>> chris hermansen <clherman...@gmail.com> ezt írta (időpont: 2025. ápr. >>> 24., Cs, 20:07): >>> >>>> Kosza and list, >>>> >>>> On Thu, Apr 24, 2025 at 3:34 AM Kosza Antal via QGIS-User < >>>> qgis-user@lists.osgeo.org> wrote: >>>> >>>>> Hello everyone, >>>>> >>>>> I want to implement the following in qgis >>>>> >>>>> Given 3 geopackage tables, one is the findings, the second is the >>>>> type, the third is the material, and the fourth is the findings_material. >>>>> The latter is a connecting table between the type and the material. The >>>>> tables refer to each other with foreign keys. The foreign key is of type >>>>> uuid. >>>>> >>>>> The task: in qgis, the findings table needs to be edited, the findings >>>>> field refers to the type uuid with a foreign key, the material field >>>>> refers >>>>> to the uuid key of the material table. qgis automatically recognizes the >>>>> relationships and sets up a relation reference widget. >>>>> >>>>> What I want: when I select the finding, i.e. the corresponding value >>>>> from the type table, in the material it should filter the values based on >>>>> the pivot table. >>>>> This is how it looks in sql. >>>>> >>>>> SELECT >>>>> a.uuid AS material_uuid, >>>>> a.values AS material_values >>>>> FROM >>>>> material AS a >>>>> JOIN >>>>> result_material AS pivot ON a.uuid = pivot.material_fk >>>>> WHERE >>>>> pivot.characteristic_fk = '6c5356d0-3257-49ed-8f95-4262d33175c9'; >>>>> >>>>> Just wondering if you could create a view based on your SELECT >>>> statement that is editable (I've not done this in SQLite so I have no idea >>>> if it's possible). >>>> >>>> Looking at your SQL vs your description, I'm not following. You say >>>> "the findings table needs to be edited"... Then it seems to me you need a >>>> SELECT statement like this: >>>> >>>> SELECT f.*,t.*,m.* >>>> FROM findings AS f >>>> JOIN type AS t ON f.type_uuid = t.uuid >>>> JOIN material AS m ON f.material_uuid = m.uuid >>>> >>>> I don't understand the purpose of the table you call >>>> "findings_material" in one place and "result_material" in another and which >>>> you say is "a connecting table between the type and the material". It >>>> seems to me the findings table connects type and material (as per my SELECT >>>> statement). Are you using it to restrict the combinations of type and >>>> material? If that's the case, then you should probably relate the findings >>>> table to that restricting table rather than type and material directly. I >>>> would probably choose to call that restricting table something like >>>> "allowed_type_material" and have a field on findings that was called >>>> "allowed_type_material_uuid". >>>> >>>> Sorry that I'm not finding your problem description clear; I hope my >>>> comments don't add confusion. >>>> >>>> >>>> >>>> -- >>>> Chris Hermansen · clhermansen "at" gmail "dot" com >>>> >>>> C'est ma façon de parler. >>>> >>> >>> Sorry, I really worded it confusingly, the table names are in Hungarian, >>> I overlooked something, let me clarify >>> >>> The main table is the findings, in which the "type" column is a foreign >>> key to the "uuid" column of the types table, the material column is a >>> foreign key to the "uuid" column of the material table >>> 1. table - findings >>> 2. table - types >>> 3. table - material >>> 4. table - findings material (connecting table), N:M relationship >>> >>> The sql query: >>> >>> SELECT >>> a.uuid AS material_uuid, >>> a.values AS material_value >>> FROM >>> material AS a >>> JOIN >>> findings_material AS pivot ON a.uuid = pivot.material_fk >>> WHERE >>> pivot.types_fk = '6c5356d0-3257-49ed-8f95-4262d33175c9'; >>> >>> All this is being done for a qfield project,. >>> >>> I would like to solve the result of this sql query during data >>> collection, that is, I create a point with gps, select the type of the >>> find, and in the material column, only those values are displayed that are >>> assigned to this type in the connection table. >>> _______________________________________________ >>> QGIS-User mailing list >>> QGIS-User@lists.osgeo.org >>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user >>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user >>> >> >> >> -- >> Srdačan pozdrav / Kind regards, >> Vedran Stojnović. >> > -- Srdačan pozdrav / Kind regards, Vedran Stojnović.
_______________________________________________ QGIS-User mailing list QGIS-User@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-user Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user