{"id":16306085,"url":"https://github.com/songmu/p5-sql-maker-plugin-joinselect","last_synced_at":"2025-04-11T18:35:30.987Z","repository":{"id":9116191,"uuid":"10900464","full_name":"Songmu/p5-SQL-Maker-Plugin-JoinSelect","owner":"Songmu","description":null,"archived":false,"fork":false,"pushed_at":"2013-07-09T03:23:14.000Z","size":140,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-15T23:37:04.524Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Songmu.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-24T06:30:29.000Z","updated_at":"2014-09-09T11:48:50.000Z","dependencies_parsed_at":"2022-08-29T08:41:27.201Z","dependency_job_id":null,"html_url":"https://github.com/Songmu/p5-SQL-Maker-Plugin-JoinSelect","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Songmu%2Fp5-SQL-Maker-Plugin-JoinSelect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Songmu%2Fp5-SQL-Maker-Plugin-JoinSelect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Songmu%2Fp5-SQL-Maker-Plugin-JoinSelect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Songmu%2Fp5-SQL-Maker-Plugin-JoinSelect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Songmu","download_url":"https://codeload.github.com/Songmu/p5-SQL-Maker-Plugin-JoinSelect/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248459350,"owners_count":21107295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T21:09:34.586Z","updated_at":"2025-04-11T18:35:30.959Z","avatar_url":"https://github.com/Songmu.png","language":"Perl","readme":"# NAME\n\nSQL::Maker::Plugin::JoinSelect - Plugin of SQL::Maker for making SQL contained \\`JOIN\\`\n\n# SYNOPSIS\n\n    use SQL::Maker;\n    SQL::Maker-\u003eload_plugin('JoinSelect');\n\n    my $builder = SQL::Maker-\u003enew(driver =\u003e 'SQLite', new_line =\u003e ' ');\n    my ($sql, @binds) = $builder-\u003ejoin_select(\n        user =\u003e [\n            item =\u003e 'user.id = item.user_id',\n        ],\n        ['*'],\n        {\n            'user.id' =\u003e 1,\n        },\n    );\n    print $sql; #=\u003e 'SELECT * FROM \"user\" INNER JOIN \"item\" ON user.id = item.user_id WHERE (\"user\".\"id\" = ?)';\n\n# DESCRIPTION\n\nSQL::Maker::Plugin::JoinSelect is Plugin of SQL::Maker for making SQL contained \\`JOIN\\`.\n\n# INTERFACE\n\n## Method\n\n### `($sql, @binds) = $sql_maker-\u003ejoin_select($table, $join_conds, \\@fields, \\%where, \\%opt)`\n\n`$table`, `\\@fields`, `\\%where` and `\\%opt` are same as arguments of `$sql_maker-\u003eselect`.\n\n`$join_conds` is an ArrayRef containing sequenced pair of `$table` and `$join_cond` as follows.\n\n    [\n        'user_item' =\u003e {'user.id' =\u003e 'user_item.user_id'},\n        'item'      =\u003e 'user_item.item_id =\u003e item.id',\n        ...\n    ]\n\nEach `$join_cond` can be ArrayRef, HashRef and String same as condition argument of [SQL::Maker::Select](http://search.cpan.org/perldoc?SQL::Maker::Select)'s `add_join` method.\n\nJoin type is 'inner' by default. If you want to specify join type, you can use ArrayRef like follows.\n\n    [\n        'item' =\u003e ['outer' =\u003e {'user.id' =\u003e 'item.user_id'}],\n    ]\n\n# LICENSE\n\nCopyright (C) Masayuki Matsuki.\n\nThis library is free software; you can redistribute it and/or modify\nit under the same terms as Perl itself.\n\n# AUTHOR\n\nMasayuki Matsuki \u003cy.songmu@gmail.com\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsongmu%2Fp5-sql-maker-plugin-joinselect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsongmu%2Fp5-sql-maker-plugin-joinselect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsongmu%2Fp5-sql-maker-plugin-joinselect/lists"}