SQL查询采用1:N关系

时间:2018-02-23 10:59:25

标签: sql sql-server ms-access sql-server-2000

我有以下数据库,它是用户和收据之间的简单关系:

Database

我需要获得与用户一样多的行,并且需要尽可能多的列。例如:

如果用户1有2张收据,我必须获得:

IdUser   Receipt 1    Receipt 2
  1         12€          13€

我尝试使用User和Receipt表之间的内部联合,但是我有尽可能多的行用户作为他们的收据。

修改

SELECT user.idUser, receipt.value
FROM user INNER JOIN receipt ON user.IdUser = receipt.IdUser;

1 个答案:

答案 0 :(得分:1)

如果您知道收据的最大数量,您可以使用以下透视查询获得结果:

 Route::group(['namespace' => 'Frontend'], function ($category = Category::all()) {
        Route::get('/', 'HomeController@welcome')->name('welcome');
        Route::get('/c/{slug}','HomeController@category')->name('frontend.category');
        .......
      ..........
    });

但如果您不知道项目的最大数量,最好使用动态数据透视

SQL Server - Dynamic PIVOT Table - SQL Injection