Tôi đã thực hiện một dự thảo ứng dụng từ xa trên libpq cho PostrgreSQL . Nó hoạt động tốt, nhưng tôi đã mô tả chức năng chung của ứng dụng. Đối với mỗi kết quả kinh doanh cuối cùng mà tôi tạo ra, điều đó xảy ra khi tôi gọi một cái gì đó giống như mệnh đề 40 select (trên tcpip).
Tôi có các hồi ức từ SQL-Server nhắc nhở tôi giảm thiểu số lượng tương tác giữa ứng dụng từ xa và cơ sở dữ liệu. Sau khi phân tích các lựa chọn của tôi, tôi nghĩ rằng tôi có thể giảm con số này xuống còn 3 SELECT
mệnh đề, sử dụng các phép nối. Nhưng tôi không nhớ cú pháp sử dụng kết quả của cái SELECT
khác SELECT
.
Ví dụ:
SELECT * FROM individual
INNER JOIN publisher
ON individual.individual_id = publisher.individual_id
WHERE individual.individual_id = 'here I would like to use the results of a another select'
Điều này SELECT
sẽ chỉ đơn giản là loại:
SELECT identifier FROM another_table WHERE something='something'
Dưới đây là cách bố trí các bảng được đơn giản hóa, đã từ chối một số lần cho các item_types khác nhau ... (3 loại hoàn toàn khác nhau, do đó 3 truy vấn SQL nếu được tối ưu hóa).
table passage
id_passage PK
business_field_passage bytea
table item
id_item PK
id_passage FK
business_field_item text
table item_detail
id_item_detail PK
id_item FK
business_field_item_detail text
image_content bytea
Có một số id_item
cho một id_passage
.
Có một vài id_item_detail
cho mộtid_item
.
Làm thế nào bạn sẽ viết điều đó?
Tên để mô tả hành động chuyển hướng một lựa chọn sang một lựa chọn khác (nếu có) là gì?