- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有表:
CREATE TABLE IF NOT EXISTS `category` (
`id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
KHÓA CHÍNH (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `category` (`id`, `name`) VALUES
(1, 'Computers'),
(2, 'Bikes');
CREATE TABLE IF NOT EXISTS `fields` (
`id` int(11) KHÔNG NULL TỰ ĐỘNG TĂNG,
`field_name` varchar(255) DEFAULT NULL,
`cid` text NOT NULL,
KHÓA CHÍNH (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
INSERT INTO `fields` (`id`, `field_name`, `cid`) VALUES
(1, 'Processor', '1'),
(2, 'Display', '1'),
(3, 'Brand', '2');
CREATE TABLE IF NOT EXISTS `fields_values` (
`id` int(11) KHÔNG NULL TỰ ĐỘNG TĂNG,
`field_id` int(11) DEFAULT NULL,
`field_value` varchar(255) DEFAULT NULL,
KHÓA CHÍNH (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
INSERT INTO `fields_values` (`id`, `field_id`, `field_value`) VALUES
(1, 1, 'Intel Pentium 3'),
(2, 2, '27 inch'),
(3, 3, 'BMX'),
(4, 1, 'AMD Radeon'),
(5, 1, 'Intel Atom'),
(6, 2, '22 inch');
CREATE TABLE IF NOT EXISTS `products` (
`id` int(11) KHÔNG NULL TỰ ĐỘNG TĂNG,
`name` varchar(255) NOT NULL,
`cid` text NOT NULL,
KHÓA CHÍNH (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
INSERT INTO `products` (`id`, `name`, `cid`) VALUES
(1, 'Computer1', 1),
(2, 'Bike1.BMX', 2),
(3, 'Bike3', 2),
(4, 'Intel Atom', 1),
(5, 'Computer Radeon', 1);
CREATE TABLE IF NOT EXISTS `products_to_fields_values` (
`id` int(11) KHÔNG NULL TỰ ĐỘNG TĂNG,
`product_id` int(11) DEFAULT NULL,
`field_value_id` int(11) DEFAULT NULL,
KHÓA CHÍNH (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
INSERT INTO `products_to_fields_values` (`id`, `product_id`, `field_value_id`) VALUES
(1, 1, 1),
(2, 2, 3),
(3, 1, 2),
(4, 4, 5);
我的请求是这样的:
SELECT ft.id field_id, ft.field_name, fvt.field_value, fvt.id field_value_id, COUNT( DISTINCT pid ) count
FROM FIELDS ft
JOIN fields_values fvt ON ( ft.id = fvt.field_id )
JOIN products_to_fields_values pfv ON ( pfv.field_value_id = fvt.id )
JOIN products pt ON ( pt.id = pfv.product_id )
LEFT JOIN (
SELECT ft.id field_id, ft.field_name, fvt.field_value, fvt.id field_value_id, pt.name, pt.id pid
FROM FIELDS ft
JOIN fields_values fvt ON ( ft.id = fvt.field_id )
JOIN products_to_fields_values pfv ON ( pfv.field_value_id = fvt.id )
JOIN products pt ON ( pt.id = pfv.product_id )
GROUP BY pt.id
)LJ ON pfv.product_id = LJ.pid
WHERE FIND_IN_SET( 1, pt.cid )
GROUP BY ft.field_name, fvt.field_value
LIMIT 0 , 30
此请求将返回(我正在尝试构建分面过滤器):
field_id field_name field_value field_value_id count
2 Display 27 inch 2 1
1 Processor Intel Atom 5 1
1 Processor Intel Pentium 3 1
但我在此表中还有其他值:fields_values,例如:AMD Radeon 和 22 英寸。我在请求中的错误在哪里?谢谢!
biên tập:
我期望得到结果:
field_id field_name field_value field_value_id count
2 Display 22 inch 6 0
2 Display 27 inch 2 1
1 Processor AMD Radeon 4 0
1 Processor Intel Atom 5 1
1 Processor IntelPentium3 1 1
其中 count 是产品计数。
1 Câu trả lời
这是一个工作 SQL,但我不确定您是否正确构建了结构。
LỰA CHỌN
ft.id field_id, ft.field_name, fvt.field_value, fvt.id as field_value_id, COUNT( DISTINCT pid ) count
FROM products AS pt
JOIN products_to_fields_values AS pfv ON pfv.product_id = pt.id
JOIN fields_values AS fvt ON fvt.field_id = pfv.field_value_id
JOIN fields AS ft on ft.id = fvt.field_id
LEFT JOIN (
SELECT ft.id field_id, ft.field_name, fvt.field_value, fvt.id field_value_id, pt.name, pt.id pid
FROM fields ft
JOIN fields_values fvt ON ( ft.id = fvt.field_id )
JOIN products_to_fields_values pfv ON ( pfv.field_value_id = fvt.id )
JOIN products pt ON ( pt.id = pfv.product_id )
GROUP BY pt.id
)LJ ON pfv.product_id = LJ.pid
WHERE FIND_IN_SET( 1, pt.cid )
GROUP BY ft.field_name, fvt.field_value
LIMIT 0 , 30
简而言之 - 你在这一行中有错误:
JOIN products_to_fields_values pfv ON ( pfv.field_value_id = fvt.id )
右一:
JOIN products_to_fields_values pfv ON ( pfv.field_value_id = fvt.field_id )
关于数据库 |高级分面搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26192707/
Tôi đang sử dụng Hibernate Search trong ứng dụng của mình. Một trong các tập hợp con được ánh xạ là IndexedEmbedded. Đối tượng con có hai trường, một là id và trường còn lại là ngày (sử dụng độ phân giải ngày đến mili giây). Khi tôi tìm kiếm id=
API tìm kiếm của App Engine có trường GeoPoint. Có thể sử dụng nó để tìm kiếm theo bán kính không? Ví dụ, với một GeoPoint, hãy tìm tất cả các tài liệu nằm trong một bán kính nhất định. Tính đến thời điểm hiện tại, có vẻ như Ge
Một khách hàng đã đưa ra yêu cầu mới này cho dự án quản lý nhân viên mà tôi đang thực hiện để cho phép người dùng của họ thực hiện tìm kiếm bool tùy chỉnh. Về cơ bản, họ được phép sử dụng: AND, OR, NOT, dấu ngoặc vuông và dấu ngoặc kép. Cách tốt nhất để đạt được điều đó là gì? Tôi đã kiểm tra mysql và họ sử dụng
Tôi rất muốn biết cách nào nhanh hơn - nếu tôi có một mảng với 25.000 cặp khóa-giá trị và cơ sở dữ liệu MySQL có cùng thông tin, thì cách nào sẽ tìm kiếm nhanh hơn? Cảm ơn tất cả các bạn rất nhiều! Câu trả lời hay nhất Cách tốt nhất để trả lời câu hỏi này là thực hiện một phép chuẩn. Về ph
Tôi thích smartcase và tôi thích lệnh tìm kiếm * và #. Nhưng tôi muốn các lệnh tìm kiếm * và # phân biệt chữ hoa chữ thường, trong khi các lệnh tìm kiếm / và ? tuân theo phương pháp tìm kiếm thông minh. Có cài đặt nào ẩn ở đâu đó mà tôi chưa tìm ra không? Tôi thà rằng
Tôi có truy vấn Marklogic sau đây, khi chạy trong bảng điều khiển truy vấn, cho phép tôi truy xuất người dùng hệ thống có quyền quản trị: xquery version "1.0-ml"; import schema namespace b
Tôi muốn khi bạn tìm kiếm ví dụ "A", tất cả tên đầy đủ bắt đầu bằng "A" sẽ xuất hiện. Vì vậy, nếu người dùng có tên "Andreas blabla" được hiển thị, bây giờ tôi có điều này: $query = "SELECT full_name, id,
Tôi muốn thêm chức năng tìm kiếm tên người trên trang web của mình. Danh sách bạn bè đã được hiển thị trên trang. Tôi thích cách Facebook thực hiện, bạn bắt đầu nhập tên và Facebook sẽ chỉ hiển thị cho bạn những người bạn trùng với truy vấn của bạn. http://cl.ly/2t2V0
Xin chào, tôi gặp lỗi này khi thực hiện tìm kiếm trên trang web của mình. Lỗi nghiêm trọng: Lỗi chưa xác định: Gọi đến hàm mysql_connect() chưa xác định trong /ho
Tuyên bố miễn trừ trách nhiệm (Stacked Armor): Trình độ của tôi có hạn, bài viết này là bản tóm tắt quá trình học của tác giả và chỉ mang tính chất tham khảo. 1. Giới thiệu về tìm kiếm Thuật toán tìm kiếm bao gồm tìm kiếm theo chiều sâu (DFS) và tìm kiếm theo chiều rộng (BFS). Chúng bắt đầu từ một điểm khởi đầu và dần dần mở rộng.
Tôi đang sử dụng FuturBuilder cho danh sách người dùng của mình. Tôi lấy thông tin người dùng thông qua API bằng futur: fetchpost(). Ở đầu chuyên mục, tôi đã triển khai một thanh tìm kiếm. Vậy làm sao tôi có thể thực hiện được chức năng tìm kiếm trên thanh tìm kiếm? Tiếp tục
Tôi đang sử dụng MVC5, tôi muốn tìm kiếm kết quả và giữ nguyên trên cùng một trang, đây là cách tôi thực hiện hành động tìm kiếm trong Bộ điều khiển của mình (LiaisonsProjetsPPController): public ActionRes
Sự khác biệt giữa hai phương pháp Upload và MergeOrUpload trong Azure Search là gì? Cả hai đều có tác dụng giống nhau. Nghĩa là, cả hai đều tải lên tài liệu nếu nó không tồn tại và thay thế nó nếu nó đã tồn tại. Bởi vì hai điều này
Trên thực tế, tình trạng hiện tại của việc tìm kiếm/so khớp âm thanh như thế nào? Hiện tại tôi đang tham gia từ xa vào việc lập kế hoạch cho một ứng dụng web sẽ chứa và hiển thị công khai cơ sở dữ liệu các đoạn âm thanh ngắn đã ghi lại (tối đa 3-5 giây, có tên người dùng). Câu hỏi được đặt ra là liệu có thể triển khai dựa trên người dùng hay không
Trong các ứng dụng thương mại, việc có hàng trăm khuôn mặt là điều không hiếm gặp. Tất nhiên, không phải tất cả sản phẩm đều có đầy đủ các dấu hiệu này. Nhưng khi tìm kiếm, tôi cần thêm tham số chuỗi truy vấn khía cạnh liệt kê tất cả các khía cạnh tôi muốn trả về. Vì tôi không biết danh sách liên quan trước nên tôi phải kiểm tra
Khi tôi biên dịch tệp .cu bằng nvcc 5.0, trình biên dịch cung cấp cho tôi thông tin sau. /usr/bin/ld: bỏ qua /usr/local/cuda-5.0/lib/libcud không tương thích
Tôi đang sử dụng Azure Search dựa trên cú pháp phân tích truy vấn Lucene phong phú. Tôi đã định nghĩa "~1" là tham số bổ sung cho dấu khoảng cách). Nhưng vấn đề tôi đang gặp phải là các thực thể không được sắp xếp ngay cả khi có sự trùng khớp chính xác. (Ví dụ, "blue~1" sẽ trả về "b
Hiện tại tôi có 3 lớp, một lớp chính chứa GUI nơi tôi gọi phương thức này, một lớp khách hàng chứa dữ liệu và một lớp customerList thu thập dữ liệu từ lớp khách hàng và đưa vào danh sách mảng, đồng thời chứa phương thức danh sách mảng tìm kiếm. Tôi là
Giả sử tôi có nhiều chuỗi chữ số gồm 6 ký tự. abc123, abc231, abc456, cba123, bac231 và bac123. Về cơ bản, tôi muốn một câu lệnh select có thể tìm kiếm và liệt kê tất cả các trường hợp của abc. Tôi chỉ
Tôi có nội dung bảng "Bảng" này: +--------+ | Serial | +--------+ | d100m | <- kết quả mong đợi | D100M | <- mong đợi
Tôi là một lập trình viên xuất sắc, rất giỏi!