Member 12905345 Ответов: 2

Как объединить столбцы из разных таблиц в один datagridview?


У меня есть 2 таблицы в моей базе данных, и у нее есть столбец.. Что я хочу, так это объединить конкретные столбцы из этих 2 таблиц..
В таблице 1 у меня есть 4 столбца, а именно ID, Фамилия, Имя,
а в таблице 2 у меня 4 колонки чаевые, замечания, жалобы.

Так как же я могу это сделать? Большое спасибо!

Что я уже пробовал:

У меня действительно нет идеи сделать это.

2 Ответов

Рейтинг:
1

Member 12905345

Я попробовал поискать, и это у меня получилось. Я получил правильный результат!

Imports System.Data.SqlClient
Public Class OverallPatientRecords

    Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

    End Sub

    Private Sub OverallPatientRecords_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim conn As New SqlConnection("data source=.\sqlexpress;database=NEWCMO;integrated security=true")
        Dim cmd As SqlCommand = conn.CreateCommand()
        cmd.CommandText = "SELECT p.patientID,t.billingID,t.treatmentID,t.Balance, p.Surname,p.Firstname,p.[middle name],p.Date,p.Age,p.gender from tblRegPatient p,tblPayment t  where p.patientID = t.patientID "
        Dim adapter As New SqlDataAdapter()
        Dim ds As New DataSet()
        adapter.SelectCommand = cmd
        conn.Open()
        adapter.Fill(ds, "tblPayment")
        conn.Close()
        DataGridView1.DataSource = ds
        DataGridView1.DataMember = "tblPayment"
    End Sub
End Class


Рейтинг:
0

Member 10007226

Выберите * из tb01 er
внутреннее соединение tb02 ro на er.ИД=РО.Совет

Во-первых, вы не упомянули, какой тип соединения. И какой из них является первичным ключом и внешним ключом.Нам будет легко ответить, если вы предоставите больше информации .Все же попробуйте найти вышеописанное решение.


Member 12905345

Я собираюсь использовать datagridview для просмотра конкретных столбцов из таблиц и фильтровать его каждый раз, когда я ищу данные, пока эти столбцы объединены.. Но я не знаю, почему важен первичный ключ или внешний ключ??

Member 10007226

Что ж, в таком случае . Можете ли вы разместить свою таблицу с 1 строкой данных? Для обоих столов. Таким образом, мы можем получить хорошую картину таблицы.

Member 12905345

Создайте таблицу [dbo].[tblPayment] (
[patientID] INT NULL,
[billingID] INT IDENTITY (1, 1) NOT NULL,
[treatmentID] INT NULL,
[Фамилия] NVARCHAR (50) NULL,
[Firstname] NVARCHAR (50) NULL,
[Возраст] INT NULL,
[Общая сумма к оплате] FLOAT (53) NULL,
[Скидка] NVARCHAR (50) NULL,
[Дисконтированная Сумма] FLOAT (53) NULL,
[вид платежа] NVARCHAR (MAX) NULL,
[Оплата] FLOAT (53) NULL,
[Баланс] FLOAT (53) NULL,
[Change] FLOAT (53) NULL,
Ограничение [PK_tblPayment] первичный ключ CLUSTERED ([billingID] ASC)
);

Member 12905345

Создайте таблицу [dbo].[tblTreatment] (
[treatmentID] INT IDENTITY (1, 1) NOT NULL,

[Примечания] NVARCHAR (2000) NULL,
[Жаловаться] NVARCHAR (2000) NULL,
Ограничение [PK_tblTreatment] первичный ключ CLUSTERED ([treatmentID] ASC)
);

Member 10007226

Хорошо. Обе таблицы имеют идентификатор лечения. Сделайте соединение на основе этого
Выберите * из tb01 er
внутреннее соединение tb02 не Ро на РП.treatmentID=РО.treatmentID

Member 12905345

Как я мог бы кодировать, если бы только определенные столбцы? любить
в tblPayment я получу столбец patientID, billingID, фамилию,имя, возраст, баланс
А в tblTreatment только замечания и жалобы?

Мне очень жаль, если я требую слишком многого, но спасибо за внимание.